0

我正在尝试制作一个批处理文件以从文件中提取数据并将其设置为变量。

棘手的部分是我需要读取一个 XML 文件,我只需要下一行引号之间的数据......

narrative="I only need this text here"

该行中的文本还可以包含空格、括号、斜杠、破折号和冒号。

示例 XML 文件

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
    <cadcall>
        <call callnumber="123456" jurisdiction="abcd" department="dept 1" complaint="cost" priority="M" calltencode="" callername="Persons Name" phonenumber="Cell Number HERE" narrative="[10/02/2012 14:56:27 : pos9 : PERSON] Fairly long narrative here describing issue of dispatch, but sometimes these can be short." alarmtype="" ocanumber="0000000000" disposition1="TRAN" />
    </cadcall>
4

2 回答 2

1

执行此操作的正确工具是xmllintlibxml请提供一个更完整的 XML 示例,我将告诉您如何Xpath在您的XML.

编辑

这里有一个使用 Xpath 的解决方案(有点 hack : contains):

xmllint --xpath '/cadcall/call/@narrative[contains(.,'.')]' file.xml
于 2012-10-19T14:43:53.307 回答
0

仅根据您的示例行,没有看到完整的输入。grep 为你工作。

kent$  echo 'narrative="I only need this text here"'|grep -Po '(?<=narrative=")[^"]*'
I only need this text here
于 2012-10-19T14:52:45.393 回答