如何开始学习XMLSTARLET?

问题描述 投票:0回答:2

如果这个问题已在

xmlsarlet
部分提出,我们深表歉意。我试图搜索它,但找不到,所以将其发布在这里。这样它将来也可以帮助我和其他新手。

作为

xmlstarlet
的新人我想学习它。那么
XMLSTARLET
实用程序的专家能否指导一下如何开始学习它?我尝试在 google 上搜索,发现一些文档(IBM 的)并没有发现它们有什么帮助,因为我完全是 XML 方面的新手,如果专家可以在这里指导,我将不胜感激。

xmlstarlet
2个回答
3
投票

首先,我不是专家。所以这个答案在SO心态下被称为答案是非常“有争议的”。我希望有更多经验的人能够提出更好的如何开始的答案。

学习

xmlstarlet
并不像简单的
grep
sed
那么容易,但在我看来,它是处理xml文件的基础。

我的过程首先是熟悉 XPath 及其复杂性。

他们不是世界上最好的,但他们是一个开始。

熟悉

xmlstarlet
本身也不像听起来那么容易。一开始有很多尝试和错误。 文档只是一个开始,但并不是一个很大的帮助。它为您提供了如何实现目标的想法,但我经常遇到这些示例在实际场景中经常失败的情况。这是由于 xml 中的命名空间造成的。
xmlstarlet
在正确的命名空间上工作得很好。因此,如果您有一个 xml 文档,其中包含以下行

<?xml version="1.0" encoding="UTF-8"?>
<foo xmlns="namespaceURI">
  ...
</foo>

然后,如果您使用正确的命名空间(例如),

xmlstarlet
只会执行您要求它执行的操作:

xmlstarlet ed -N "N=namespaceURI" -u "//N:bar" -v "value" foo.xml

这可能不是很有帮助,但我希望它能让你走上正路。


-1
投票

以下链接很有帮助: 链接1 链接2

© www.soinside.com 2019 - 2024. All rights reserved.