需要捕获根<pubDate>
元素的内容,但在文档中,它可以位于<item>
元素内或<channel>
元素内。另外<item>
是<channel>
的孩子,我会带来例子
<channel>
...
<pubDate>10/2/2010</pubDate>
...
<item>
...
<pubDate>13/2/2029</pubDate>
...
</item>
...
</channel>
需要捕获 10/2/2010
<item>
没问题,可以捕获它及其<pubDate>
。
答案 0 :(得分:2)
Regexp不是处理使用无上下文语法解析的编程语言的好工具。尝试使用XML DOM来完成这项工作。
答案 1 :(得分:1)
我不懂JavaScript,所以我无法帮助你使用DOM。我同意100%尝试用正则表达式解析XML是个坏主意。但是,可能存在一种快速,非常肮脏且非常脆弱的解决方法:
如果缩进在整个文件中保持一致,并且<channel>
元素始终处于相同的缩进级别,则可以将该事实用作正则表达式的指南。在您的示例中/^ {2}<pubDate>([^<]*)<\/pubdate>/m
(=行首开头后的两个空格)可能正常工作。
使用此风险需要您自担风险。这里有龙等。
答案 2 :(得分:1)
查看jQuery,看看这是否有助于阅读/解析XML:http://think2loud.com/reading-xml-with-jquery/
KM