python中XML文件的解析与编辑

2024-09-29 17:16:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个XML文件,如下所示:

    <?xml version='1.0' encoding='UTF-8'?><graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd">
<key id="labelV" for="node" attr.name="labelV" attr.type="string"/>
<key id="Count" for="node" attr.name="Count" attr.type="double"/>
<key id="URI" for="node" attr.name="URI" attr.type="string"/>
<key id="labelE" for="edge" attr.name="labelE" attr.type="string"/>
<graph id="G" edgedefault="directed">
  <node id="4096">
    <data key="labelV">v</data>
    <data key="Count">1.0</data>
    <data key="URI">http://www.guavus.com/rflx/ont/c?ln=en&amp;v=1.0&amp;cust=comcast&amp;prj=x1&amp;id=63a9f0ea7bb98050796b649e85481845&amp;norm=n</data>
  </node>
  <node id="4104">
    <data key="labelV">v</data>
    <data key="Count">0.1111111111111111</data>
    <data key="URI">http://www.guavus.com/rflx/ont/l?ln=en&amp;v=1.0&amp;cust=comcast&amp;prj=x1&amp;id=c01ed2b3bffa35c9c2d2c3c723f18bdb&amp;norm=n</data> 
  </node>...

我想向node元素添加更多的数据元素。 我无法到达节点元素。你知道吗

tree = ET.parse("ner.xml")
root = tree.getroot()
print(root)

我明白了

<Element '{http://graphml.graphdrawing.org/xmlns}graphml' at 0x10e015188>

以及根.findall('graph')返回空。 为什么? 有人能帮我吗?你知道吗


Tags: keynameorgidnodehttpfordata
1条回答
网友
1楼 · 发布于 2024-09-29 17:16:10

您的XML有一个命名空间。您需要声明解析时要使用的命名空间(例如ET.register_namespace("gml", "http://graphml.graphdrawing.org/xmlns"); root.find_all("gml:graph")),或者在处理元素时使用完全限定名(例如root.find_all("{http://graphml.graphdrawing.org/xmlns}graph")

相关问题 更多 >

    热门问题