mjv*_*mjv 23 .net xml xmlwriter
默认情况下,
someXmlWriter.WriteElementString("my-tag", someString);
Run Code Online (Sandbox Code Playgroud)
产生 <my-tag />
我查看了XmlWriterSettings类,以寻找可能强制编写器生成<my-tag></my-tag>但可能没有找到任何内容的可能选项.
是否有一种简单的方法可以强制XmlWriter使用"open tag,close tag"而不是使用简写形式发布空元素?
编辑:
是的!我意识到关于XML有效性,这两个符号是等价的,有效的,所有......我正在使用遗留代码,使用Read()解析这样的XML,即在节点级别(!)并通过Read来解决问题() - 在空节点上时...
因此,我的问题来自限制此遗留代码的更改量.这个问题确实与建议的SO问题重叠; 然而,这里提供的选项都不适用于我的情况.
mej*_*ggs 20
这对我有用:
writer.WriteStartElement("my-tag");
writer.WriteRaw(someString);
writer.WriteFullEndElement();
Run Code Online (Sandbox Code Playgroud)
WriteEndElement仍然自动关闭标签
你有没有尝试过这样的事情:
if (someString.Length > 0)
{
someXmlWriter.WriteElementString("my-tag", someString);
}
else
{
someXmlWriter.WriteStartElement("my-tag");
someXmlWriter.WriteEndElement("my-tag");
}
Run Code Online (Sandbox Code Playgroud)
也许用它作为成员函数创建一个实用程序类。
| 归档时间: |
|
| 查看次数: |
17240 次 |
| 最近记录: |