我有一個大XML文件。我正在解決一些問題,並且我想從XML文件中提取特定的節點。我不想要一個SimpleXML對象,我想用原始字符串匹配我想要的(在bash/sed/php上發佈)創建一個新文件。正則表達式來提取純文本XML節點
<?xml version="1.0" encoding="UTF-8"?>
<definition></definition>
<metadata></metadata>
<nodeToRegex>
<nodeImightwant>
<subnode>
<subsubnode1></subsubnode1>
<subsubnodeToCheck>stringCheck</subnodeToCheck>
<subsubnode2></subsubnode2>
</subnode>
</nodeImightwant>
<nodeImightwant></nodeImightwant>
<nodeImightwant></nodeImightwant>
</nodeToRegex>
因此,從這個XML文件中,我需要除nodeToRegex之外的每個節點的所有行。從nodeToRegex中,如果stringCheck字符串等於「aValidString」,我只需要nodeImightwant。這可以通過正則表達式來完成,還是應該將文件複製粘貼出來? (我的正則表達式技能是欠佳的)
對於一些原因(查找*例如Cthulhu regex *),使用正則表達式來解析XML並不是一個好主意。這是不可維護的,很快就會失控。您最好使用現有的衆多經過充分測試的XML解析解決方案之一。 – Nit