相关疑难解决方法(0)

获取xmllint以输出xpath结果\n-分隔,用于属性选择器

如何让xmllint为"每行"属性输出xpath选择器的多个结果?

举个例子:

  <?xml version="1.0" encoding="ISO-8859-1"?>
  <config>
          <tagX key1="value1 " key2=" value2"/>
          <tagY key3="value3" key4=" value4 "/>
  </config>


  $ xmllint example.xml --xpath "/config/*/@*"
Run Code Online (Sandbox Code Playgroud)

结果是:

   key1="value1 " key2=" value2" key3="value3" key4=" value4 "
Run Code Online (Sandbox Code Playgroud)

我想得到的是:

   key1="value1 "
   key2=" value2"
   key3="value3"
   key4=" value4 "
Run Code Online (Sandbox Code Playgroud)

我需要在偶数引号之后拆分,还是有更简洁的方法来做到这一点?

有一个相关的问题,关于相同的主题,除了它是关于挑选的内容<tag>value</tag>,而不是<tag attribute="value" />

xml shell parsing

22
推荐指数
2
解决办法
2万
查看次数

使用xmllint和xpath与不完美的HTML文档?

我有一个由现有工具生成的HTML页面 - 我无法更改此工具的输出.

不过,我想使用xmllint--xpath选项从下载的网页挑选出的信息数的某些片段.问题是该页面以:

<html lang=en><head>...

xmllint立即抛出错误:

html.out:2: parser error : AttValue: " or ' expected
<html lang=en><head>
           ^
Run Code Online (Sandbox Code Playgroud)

这个问题肯定似乎是lang属性值周围缺少的引号.整个页面都充满了这种问题.(虽然只是零星的.)

几乎每个浏览器都可以解析这个问题 - 我怎么能说服xmllint这样做呢?我想避免必须注入一个中间步骤来"修复"该文件.相反,我想要:

1)找到一个标志,验证选项等,以帮助解析器,或:

2)使用其他一些工具.(但是什么?xmllint总是我的命令行XPath命令.)

此外,仅使用xpath结果:

> xpath html.out '//myquery...'

not well-formed (invalid token) at line 2, column 11, ...
Run Code Online (Sandbox Code Playgroud)

html xml xpath xmllint

9
推荐指数
3
解决办法
7595
查看次数

标签 统计

xml ×2

html ×1

parsing ×1

shell ×1

xmllint ×1

xpath ×1