我有一个大型 XML 文件,需要对其进行解析并查找特定节点。一旦找到它,我需要制作一个副本,编辑几个值并再次写入文件。
到目前为止,我已经设法获得了我想要的 DOM 元素。XML 中实际上已经有两个这样的元素,所以在我完成后,将会有三个。一旦我制作了 DOM 的副本并编辑了值,我该如何将其写入 DOM(以及文件)?
我from xml.dom import minidom
目前正在使用 Python。
在minidom中,您从创建文档开始:
Document doc = Document("your_root")
然后,如果它是您要添加的文本节点,则将其附加:
text_node = doc.createTextNode(str(some content))
doc.appendChild(text_node)
例如,如果您有<some_elem key="my value">some my text</some_elem>
:
像这样做:
text_node = doc.createTextNode('some my text')
elem.appendChild(text_node)
elem.setAttribute('key', 'my value')
如果它是复杂元素,请使用以下方法创建它:
elem = doc.createElement('your_elem')
如果您需要设置属性,请执行以下操作:
elem.setAttribute("some-attribute",your_attr)
如果你需要在上面附加一些东西:
elem.appendChild( some_other_elem )
然后附加元素:
doc.appendChild( elem )
如果您需要字符串表示,请执行以下操作:
doc.toxml()
的
doc.toprettyxml()
from xml.dom.minidom import getDOMImplementation
impl = getDOMImplementation()
newdoc = impl.createDocument(None, "some_tag", None)
top_element = newdoc.documentElement
text = newdoc.createTextNode('Some textual content.')
top_element.appendChild(text)
所以我想appendChild
这是你要求的吗?