我有一个xml字符串(我从CSV中获取),我需要从中识别它的值和名称。我想的逻辑是提取值在>
和</
之间的所有字符串,然后删除包含<
或>
我还没想到如何提取参数名称。我正在使用python。
下面是我从csv文件中读取的xml字符串。
<ServiceInstanceUpdateAck xmlns='http://www.loremipsum.com/'>
<Context>
<Attribute name='Atri1'>A1</Attribute>
<Attribute name='Atri2'>A2</Attribute>
<Attribute name='Atri3'>A3</Attribute>
</Context>
<Operation>DEPROVISION</Operation>
<Status>SUCCESS</Status>
<Error message='No Error' majorErrorCode='E_NONE' minorErrorCode='E_NONE'/>
<Service>
<Id>11233334</Id>
</Service>
</ServiceInstanceUpdateAck>
感谢任何帮助。
注意:这不是一个完整的xml。这是我从CSV文件中获取的帖子正文数据。基本上当我获取它时它是一个字符串。所以我不能在这里使用XML解析器。
答案 0 :(得分:3)
由于您的数据只是XML,您可以使用XML解析器,可以找到文档here
答案 1 :(得分:0)
使用XML解析器; xml.dom.minidom
应该足够了:
>>> import xml.dom.minidom
>>> doc = xml.dom.minidom.parseString(xmlString)
>>> for item in doc.getElementsByTagName("Attribute"):
... print(item.getAttribute("name"))
... print(item.childNodes[0].wholeText)
Atri1
A1
Atri2
A2
Atri3
A3