gpt4 book ai didi

c# - 如果 InnerText 为 null,则将 XML 元素写为 而不是

转载 作者:数据小太阳 更新时间:2023-10-29 02:20:28 28 4
gpt4 key购买 nike

我正在编写一个 c# 类来编写一个 XML 文件,该文件需要与我们使用的现有 XML 的结构完全匹配,这样一些遗留系统就不会混淆。

当一个元素的InnerText值为null时,我需要xml元素的元素标记是这样的

<element/>

代替

<element></element>

我之前偶然做到了,但没能重复。这是我用来编写 xml 文件的方法示例:

public bool WriteXML(string path)
{
// Create the xml document in memory inc. xml declaration
XmlDocument doc = new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "UTF-8", null);

// Create the root element
doc.AppendChild(dec);
XmlElement rootNode = doc.CreateElement("root");
doc.AppendChild(rootNode);

// Create elements at root node
XmlElement XE_level1 = doc.CreateElement("level1");
XE_level1.InnerText = "Text";
rootNode.AppendChild(XE_level1);

// Create a user data element
XmlElement XE_level2 = doc.CreateElement("level2");
XE_level2.InnerText = "Text";
XE_level1.AppendChild(XE_level2);

doc.Save(path);
}

最佳答案

XmlElement 似乎在每次调用 InnerText 的设置属性访问器时展开。此代码片段适用于新的 XmlElement:

if(text != null) {
myNode.InnerText = text;
}

关于c# - 如果 InnerText 为 null,则将 XML 元素写为 <element/> 而不是 <element></element>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30910978/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com