使用xmlstarlet从XML中进行选择 - 语法查询

10 浏览
0 Comments

使用xmlstarlet从XML中进行选择 - 语法查询

我有一个XML文件,我想将其转换为类似CSV格式的内容(或者说是将输出以单行和常见分隔符的形式呈现出来),但我无法正确地设置语法,有人可以帮忙吗?

XML的格式如下:



        
                Doc1
                First document
        
        
                Doc2
                Second document
        

我目前使用的命令是:

xmlstarlet sel -t -m //Translation -v @Key -o "|" -v @RelativePath -n /root/XML/file.xml
Document1|/home/path1
Document2|/home/path2

但我希望还包括Title字段的内容,所以输出结果应该是这样的:

Document1|/home/path1|Doc1
Document2|/home/path2|Doc2

有人可以帮忙吗?谢谢。

0
0 Comments

使用xmlstarlet从XML中选择 - 语法查询

在处理XML文件时,有时我们需要根据特定的查询条件从XML中选择特定的元素或节点。XMLStarlet是一个命令行工具,可以用于处理XML文件。在使用XMLStarlet时,我们可以使用XPath语法来选择XML中的元素或节点。

以下是一个使用XPath语法查询XML文件的示例:

xmlstarlet sel -t -m //Translation -v  -o "|" -v   -v 'Title/text()' -n /root/XML/file.xml

在这个例子中,我们使用了XPath表达式来选择XML文件中的Translation节点,并获取其中的Title节点的文本内容。

出现这个问题的原因是,我们需要从XML文件中选择特定的元素或节点,但不知道如何使用xmlstarlet工具进行查询。我们希望能够找到一种解决方法,以便使用xmlstarlet工具来选择XML中的元素或节点。

解决这个问题的方法是使用xmlstarlet工具,并使用XPath语法来选择XML中的元素或节点。通过使用xmlstarlet sel命令和XPath表达式,我们可以轻松地从XML中选择所需的元素或节点。在上面的示例中,我们使用了XPath表达式//Translation来选择XML文件中的Translation节点,并使用-v选项获取Title节点的文本内容。

通过了解如何使用xmlstarlet工具和XPath语法来选择XML中的元素或节点,我们可以更轻松地处理和查询XML文件,从而解决了出现的问题。

0