<app-analytics *ngIf="userPreferences$ | async as userPreferences" [userPreferences]="userPreferences"></app-analytics>
我试图访问 ca1 文本。我正在使用etree,但无法访问它。我正在使用下面的代码。
<?xml version="1.0" ?>
<school xmlns="loyo:22:2.2">
<profile>
<student xmlns="loyo:5:542">
<marks>
<mark java="java:/lo">
<ca1>200</ca1>
</mark>
</marks>
</student>
</profile>
</school>
我尝试了其他方式来访问它,但我不知道确切的问题。录制文件类型有问题吗?
答案 0 :(得分:1)
您的文档在学校和学生节点上具有名称空间,您需要在搜索中合并名称空间。由于您要查找学生下的 ca1 ,因此需要指定学生节点具有的名称空间:
import xml.etree.ElementTree as ET
tree = ET.parse('mca.xml')
root = tree.getroot()
def getElementsData(xpath, namespaces):
elements = root.findall(xpath, namespaces)
if elements == []:
raise SystemExit("Invalid xpath provided")
return elements
namespaces = {'ns_school': 'loyo:22:2.2', 'ns_student': 'loyo:5:542'}
elements = getElementsData('.//ns_student:ca1', namespaces)
for element in elements:
print(element)
注释
答案 1 :(得分:0)
如何遍历这样
import xml.etree.ElementTree
e = xml.etree.ElementTree.parse('test.xml').getroot()
data = e.getchildren()[0].getchildren()[0].getchildren()[0].getchildren()[0].getchildren()[0].text
print(data)
答案 2 :(得分:-1)
尝试以下xpath
tree.xpath('//ca1//text()')[0].strip()