如何检查xml文档是否具有特定的属性列表?
我正在尝试使用 C# 和 xml,我正在尝试读取一个 XML 文件,我想验证“NumberOfDays”、“NumberOfBooks”、“NumberOfExam”、“CurrentDate”是否存在(如果缺失)。我想将它们添加到这些值中。
我有以下 xmldocument :
<?xml version="1.0" encoding="utf-8" ?>
<MySample>
<Content>
<add key="NumberOfDays" value="31" />
<add key="NumberOfBooks" value="20" />
<add key="NumberOfExam" value="6" />
<add key="CurrentDate" value="15 - Jul - 2011" />
</Content>
</MySample>
用 C# 编写一个示例应用程序,
我正在使用--------Edit--------
谢谢 AresAvatar你的回应。
但如果该值存在,我想更新其值,即如果
<add key="NumberOfExam" value="" />
我想将值更改为 6
i am experimenting with C# and xml, i am trying to read a XML file i want to validate if "NumberOfDays" , "NumberOfBooks", "NumberOfExam", "CurrentDate" are existing, if missing. i want to add them with there values.
i have the following xmldocument :
<?xml version="1.0" encoding="utf-8" ?>
<MySample>
<Content>
<add key="NumberOfDays" value="31" />
<add key="NumberOfBooks" value="20" />
<add key="NumberOfExam" value="6" />
<add key="CurrentDate" value="15 - Jul - 2011" />
</Content>
</MySample>
i am writing a sample application in c# using
--------Edit--------
thank you AresAvatar for your responce.
but if the value exists i would like to update its value i.e. if let's say
<add key="NumberOfExam" value="" />
i want to change the value to 6
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以像这样获取存在哪些节点的列表:
您可以像这样添加缺少的节点:
您可以像这样设置现有节点的值:
You can get a list of which nodes exist like this:
You can add missing nodes like this:
You can set the value of existing nodes like this:
首先,如果您可以控制生成的 XML(如果您自己创建),请避免使用此模式:
使用该模式会更容易:
然后:
只需记住在每个节点上检查 null ,或者将整个块进入 try/catch。
并在完成更改后保存 XML。
XmlDocument.Load() 函数将 XML 加载到内存中,因此您可以检查任何节点,而无需进行“盲循环”。
First of all, if you have control over the generated XML (if you make it yourself), avoid using this schema:
It's much easier to use with that schema:
And then:
Just remember to check for null on every node, or put the whole block into a try/catch.
And to save the XML once you did your changes.
XmlDocument.Load() function loads the XML in memory, so you can check for any node without making "blind loops".