【发布时间】:2018-03-16 14:14:28
【问题描述】:
我正在尝试制作一个脚本(理想情况下是 bash 或 python,所以我学习而不只是愚蠢地使用它)来解析一个如下所示的 XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<fruits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://whatever/fruits.xsd" timestamp="1521126010" merchantId="xxxx">
<fruit id="1" name="Orange" color="orange"/>
<fruit id="2" name="Mandarine" color="Orange"/>
<fruit id="3" name="Raisin" color="Green" variety="4"/>
<fruit id="4" name="Raspberrry" color="red" variety="2"/>
<fruit id="5" name="Kiwi" color="brown"/>
<fruit id="6" name="I am a fruit" variety="7">
</fruits>
我正在尝试制作一个可以返回不同属性的脚本。例如:
./script Raisin -c
Orange
./script Kiwi -v
No variety defined
./script "I am a fruit" -i
6
等等。我已经阅读了很多关于 XML 解析的内容,但还没有找到任何关于这种 XML 文件的内容。任何帮助将不胜感激。
【问题讨论】:
-
您的
-i选项是什么意思?描述你所有的选择 -
就 python 而言,有一个名为 etree 的模块包含在 lxml 中。这将允许您在 python 运行时轻松解析 XML 数据。
-
@RomanPerekhrest : -i 代表 id,-c 代表颜色,-v 代表品种
-
@Kyle :会检查一下,谢谢!
-
" 还没有找到任何关于那种 XML 文件的东西" => 像 XML 这样的格式的要点是它们是通用的。 IOW 你可以使用任何可用的 Python XML 解析器来完成这项工作。