XML 文档被解析为单个元素而不是节点序列
给定的 xml 看起来像这样:
<Store>
<foo>
<book>
<isbn>123456</isbn>
</book>
<title>XYZ</title>
<checkout>no</checkout>
</foo>
<bar>
<book>
<isbn>7890</isbn>
</book>
<title>XYZ2</title>
<checkout>yes</checkout>
</bar>
</Store>
我将其作为我解析的 xmldoc:
>>> from xml.dom import minidom
>>> xmldoc = minidom.parse('bar.xml')
>>> xmldoc.toxml()
u'<?xml version="1.0" ?><Store>\n<foo>\n<book>\n<isbn>123456</isbn>\n</book>\n<t
itle>XYZ</title>\n<checkout>no</checkout>\n</foo>\n<bar>\n<book>\n<isbn>7890</is
bn>\n</book>\n<title>XYZ2</title>\n<checkout>yes</checkout>\n</bar>\n</Store>'
有没有一种简单的方法来预处理此文档,以便在解析它时,它不会被解析为单个 xml 元素?
Given xml that looks like this:
<Store>
<foo>
<book>
<isbn>123456</isbn>
</book>
<title>XYZ</title>
<checkout>no</checkout>
</foo>
<bar>
<book>
<isbn>7890</isbn>
</book>
<title>XYZ2</title>
<checkout>yes</checkout>
</bar>
</Store>
I am getting this as my parsed xmldoc:
>>> from xml.dom import minidom
>>> xmldoc = minidom.parse('bar.xml')
>>> xmldoc.toxml()
u'<?xml version="1.0" ?><Store>\n<foo>\n<book>\n<isbn>123456</isbn>\n</book>\n<t
itle>XYZ</title>\n<checkout>no</checkout>\n</foo>\n<bar>\n<book>\n<isbn>7890</is
bn>\n</book>\n<title>XYZ2</title>\n<checkout>yes</checkout>\n</bar>\n</Store>'
Is there an easy way to pre-process this document so that when it is parsed, it isn't parsed as a single xml element?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
XML 文档始终具有单个根元素。如果您不关心根元素,只需忽略它并查看它的子元素即可!
例如,使用更现代的元素树(但 minidom 在这方面提供了类似的可能性):
An XML document always has a single root element. If you don't care about the root element, just ignore it and look at its children instead!
For example, using the more modern element-tree (but minidom offers similar possibilities in this respect):
xmldoc
是一个已解析的 XML 对象。toxml()
要求它再次将自身转换回 XML 文本字符串。进一步探索:然后,意识到 DOM 很难使用并阅读 ElementTree。
xmldoc
is a parsed XML object.toxml()
asks it to convert itself back to a string of XML text again. Explore a little further:Then, realize that DOM is difficult to work with and read about ElementTree.