【发布时间】:2012-09-06 07:41:56
【问题描述】:
我有一个看起来像这样的 xml 文件
<?xml version="1.0"?>
<product = "AAA">
<shell name = "110">
<style = "000" size ="3"/>
<style = "200" size ="3"/>
<style = "800" size ="1"/>
<style = "0900" size ="3"/>
</shell name>
</product>
<product = "AAA">
<shell name = "310">
<style = "000" size ="3"/>
<style = "200" size ="3"/>
<style = "800" size ="1"/>
<style = "0900" size ="3"/>
</shell name>
</product>
<product = "BBB">
<shell name = "10">
<style = "000" size ="3"/>
<style = "200" size ="3"/>
<style = "800" size ="1"/>
<style = "0900" size ="3"/>
</shell name>
</product>
<product = "BBB">
<shell name = "10010">
<style = "0300" size ="3"/>
<style = "2030" size ="3"/>
<style = "8003" size ="1"/>
<style = "09003" size ="3"/>
</shell name>
</product>
<product = "BBB">
<shell name = "110">
<style = "0300" size ="3"/>
<style = "2030" size ="3"/>
<style = "8003" size ="1"/>
<style = "09003" size ="3"/>
</shell name>
</product>
我想编写一个脚本,该脚本应该包含同一产品的外壳,以便我有类似的输出
<?xml version="1.0"?>
<product = AAA>
<shell name = "110">
<style = "000" size ="3"/>
<style = "200" size ="3"/>
<style = "800" size ="1"/>
<style = "0900" size ="3"/>
</shell name>
<shell name = "310">
<style = "000" size ="3"/>
<style = "200" size ="3"/>
<style = "800" size ="1"/>
<style = "0900" size ="3"/>
</shell name>
</product>
<product = BBB>
<shell name = "10">
<style = "000" size ="3"/>
<style = "200" size ="3"/>
<style = "800" size ="1"/>
<style = "0900" size ="3"/>
</shell name>
<shell name = "10010">
<style = "0300" size ="3"/>
<style = "2030" size ="3"/>
<style = "8003" size ="1"/>
<style = "09003" size ="3"/>
</shell name>
<shell name = "110">
<style = "0300" size ="3"/>
<style = "2030" size ="3"/>
<style = "8003" size ="1"/>
<style = "09003" size ="3"/>
</shell name>
</product>
关于我如何继续的任何想法???我正在考虑搜索一个字符串
<product = "AAA">
但是我怎样才能达到第二次出现。我知道如何读取文件并计算特定字符串的出现次数,但是任何人都可以帮助我如何达到特定字符串的第二次出现?
【问题讨论】:
-
请注意,您的文件不是格式正确的 XML(例如,结束标签的“名称”属性、“产品 = BBB”标签)。
-
使用 XPath。例如,尝试在此处输入
count(//grandchild):whitebeam.org/library/guide/TechNotes/xpathtestbed.rhtm -
这是关于 Perl 和 XML 和 XPath 的一章:docstore.mik.ua/orelly/xml/pxml/ch08_02.htm
-
请在寻求帮助时花时间提交格式正确的 XML,这会让每个想要回答的人浪费时间修复它,可能会以不反映原始数据的方式。
标签: regex perl xml-parsing