在xm中查找标记文本

2024-04-19 15:39:31 发布

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

我有以下xml:

<a:something>text-a</a:something>
  <a:otherthing>text-b</a:otherthing>

我想分配一个变量,文本为<a:otherthing>。你知道吗

我试过txt = xml.find("a:otherthing").text,但它显示了我SyntaxError: prefix 'a' not found in prefix map

我该怎么做?你知道吗


Tags: textin文本txtmapprefixnotxml
1条回答
网友
1楼 · 发布于 2024-04-19 15:39:31

您的XML应该在上面某处为给定的前缀“a”声明名称空间。你知道吗

注意,XML允许在一个文档中多次更改名称空间的用途(但这并不经常使用)。你知道吗

然后您会发现,对于“ns:a”,有一行“http://a.alfa.aa/a/aaa.aa”字符串,这就是所谓的完全限定名称空间。你知道吗

在您的find中,您将使用以下形式的名称空间映射

nsmap = {"a": "http://a.alfa.aa/a/aaa.aa"}
xml.find("a:otherthing", namespaces=nsmap)

相关问题 更多 >