0

これが私が持っているものです。明らかに本来の機能を果たさず、クラッシュさえしました。何か問題がありますか、または BASH で XML を解析するのに役立つ他のツールはありますか?

:~$ cat test.xml 
<project xmlns="http://www.netbeans.org/ns/project/1">
  <type>org.netbeans.modules.ant.freeform</type>
</project>

:~$ xmllint --xpath '//type/text()' test.xml 
Segmentation fault (core dumped)

:~$ xmllint --xpath '//type' test.xml 
XPath set is empty
4

2 に答える 2

0

名前空間付きの要素を検索するには、次のようにローカル名をテストできます。

xmllint --xpath '//*[local-name()="type"]/text()' test.xml

より正確な方法は

xmllint --xpath '//*[namespace-uri()="http://www.netbeans.org/ns/project/1" and local-name()="type"]/text()' test.xml
于 2018-02-27T21:54:05.537 に答える
-1

問題は、XML...が有効なXMLファイルではないことです。

前にこれを試してください:

sed -i '1i <?xml version="1.0" encoding="UTF-8"?>' test.xml

そして、テスト後、名前空間の問題があるので、これを試してください:

xmllint --shell test.xml
/ > setns x=http://www.netbeans.org/ns/project/1
/ > xpath /x://type/text()
于 2013-03-13T16:22:35.037 に答える