获取XML标记的内容不在XML文档中
问题描述:
不使用XML PARSER 我想获取XML标记的内容,以便我的XML文件看起来像(包括多于XML这仅仅是XML部分)获取XML标记的内容不在XML文档中
<ns1:CarrierServiceId>PD_PRIVATPAKKER_W</ns1:CarrierServiceId>
<ns1:LabellingReturned>0</ns1:LabellingReturned>
<ns1:DeliveryDate>2012-07-27T23:00:00Z</ns1:DeliveryDate>
<ns1:DespatchDate>2012-07-26T22:59:59Z</ns1:DespatchDate>
<ns1:International>0</ns1:International>
<ns1:ClearanceDocumentation>0</ns1:ClearanceDocumentation>
<ns1:ExceptionCode>0</ns1:ExceptionCode>
我怎么会得到CarrierServiceId的内容,所以我只得到PD_PRIVATPAKKER_W没有别的我已经成功地得到使用下面的线,但我需要的内容
FOUND=$(awk '/<ns1:CarrierServiceId>/ {print $1}' TEST.tmp)
echo "${FOUND}"
答
使用角度括号作为分隔符并打印该字段。
FOUND=$(awk -F '[<>]' '/<ns1:CarrierServiceId>/ {print $3}' TEST.tmp)
答
随着grep
:
grep -Po '(?<=CarrierServiceId>).*?(?=<)' inputFiles
由于其工作。 – ahmet