开发者

How to remove closing tag of an XmlDocument in C#, .NET 1.1?

How can I remove the closing tag of element c in a XML document?

The converted XML will go through a schema validation and it is rejected because it has a whitespace within. I'm using C#, .NET 1.1 (I'm updating a legacy application :-( ).

Note: I must not resort to string manipulation to convert the XML document.

Current:

<main>
  <a>
    <b />
    <c>
    </c>
  </a>
</main>

Final:

<main>
  <a>
    <b />
    <c />
  </a>
</main>

Update 1: for additional details, the final XML开发者_开发技巧 document is saved as file, and then another process validates the file. It appears that the saved XML is formatted.

I'm not sure if this is true:

<a></a> == <a />


Try this:

XmlDocument xml = new XmlDocument();
xml.LoadXml(@"
 <main>
  <a>
    <b />
    <c>
    </c>
  </a>
</main>");

foreach(XmlElement element in xml.SelectNodes("//*[. = '' and count(*) = 0]"))
{
    element.IsEmpty = true;
}

Console.WriteLine(xml.InnerXml);
Console.ReadLine();


Maybe setting InnerText to null instead of string.Empty would help?

Update. Or just set XmlElement.IsEmpty )

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜