我有问题要获取值为空的空格。我想将type="open"/>
替换为testvalue="0"
的值并更改类型:
<test testvalue="0">Something3</test>
<test testvalue="1" type="done">Hallo2</test>
<test testvalue="2" type="done">Hallo2</test>
<test testvalue="3" type="open"/>
<test testvalue="4" type="open"/>
结果应该是:
<test testvalue="0">Something</test>
<test testvalue="1" type="done">Hallo</test>
<test testvalue="2" type="done">Hallo</test>
<test testvalue="3" type="done">Something</test>
<test testvalue="4" type="done">Something</test>
是否有可能通过搜索testvalue="0"
获取值并将type="open"/>
替换为type="done">"(0 value)</test>
来实现此目的。
答案 0 :(得分:0)
假设您正在使用System.XML并且有一种阅读方式 XML文件。您需要指定节点测试,例如
'XmlNodeList testValues = new XmlNodeList("/test");'
这将返回列表中的所有测试节点。 然后通过执行
选择要覆盖的那些 'testValues[numberOfNodeInList].InnerText = "What you want to put here ";'
注意:您必须使用
初始化您想要阅读的XML文档 'XmlDocument xml = new XmlDocument();'
'xml.load(path)'
然后你可以像我提到的那样使用XmlNodeList或XmlNode来获取节点。 请参阅此https://msdn.microsoft.com/en-us/library/system.xml(v=vs.110).aspx 看看你能用system.xml做什么;
答案 1 :(得分:0)
最简单的方法是使用XML解析器,谢天谢地Python has one built in。
首先需要导入它,然后通过将文件路径传递给解析器来解析文件。请注意,您需要根标记才能为解析器生成此有效XML。否则你会收到错误:
ParseError: junk after document element: line 2, column 8
您可以轻松修改数据,只需在开头和结尾添加root
标记即可。如有必要,可以通过编程方式完成。
<root>
<test testvalue="0">Something3</test>
<test testvalue="1" type="done">Hallo2</test>
<test testvalue="2" type="done">Hallo2</test>
<test testvalue="3" type="open"/>
<test testvalue="4" type="open"/>
</root>
现在您可以使用解析器轻松解析它:
import xml.etree.ElementTree as ETree
xml = ETree.parse(path)
然后你可以迭代XML,检测是否element.text is None
并将其写入路径:
for element in xml.getroot():
if element.text is None:
element.text = "Something"
xml.write(path)