我有一个非常简单的 XML 文件,需要用 xmlstarlet 解析(我在 Windows 下):
<?xml version="1.0" encoding="utf-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<pain.001.001.02>
<GrpHdr>
<MsgId>IDENTIFYER</MsgId>
<CreDtTm>2013-01-25T11:15:02</CreDtTm>
<NbOfTxs>6</NbOfTxs>
<CtrlSum>6268.07</CtrlSum>
<Grpg>MIXD</Grpg>
</GrpHdr>
<PmtInf>
</PmtInf>
</pain.001.001.02>
</Document>
假设我想检索 CtrlSum 元素;当我尝试时它失败了
xml sel -t -m "/Document/pain.001.001.02/GrpHdr" -v CtrlSum myfile.xml
但是,如果我从文件中删除 xmlns 和 xmlns:xsi 属性,它就可以工作(但在现实生活中我不能这样做)。我知道我必须使用 -N 选项,但我不知道该怎么做。任何帮助都将非常有价值。
非常感谢 Laurent(或 Lawrence,或 Larry :))