Bat文件解析XML

时间:2016-05-04 05:18:20

标签: xml parsing batch-file command

如果我有以下格式的xml文件,我如何在批处理(.bat)脚本中解析它?还是有一种方法我只能在不解析的情况下获得某些价值?

例如,我需要从此xml文件中获取'date'的值。

<?xml version="1.0" encoding="UTF-8"?>
<note>
<slideshow 
    title="Sample Slide Show"
    date="2016/05/03"
    author="Yours Truly"  >

</slideshow>
</note>

2 个答案:

答案 0 :(得分:2)

这是一个接受单个参数的脚本 - xml文件并获取幻灯片显示的节点日期属性值。如果文件具有不同的结构,您可以更改xpath查询以满足您的需求:

private void labels_click(object sender, EventArgs e)
{
    var clickedLabel = (Label)sender;
    var index = this.tableLayoutPanel1.Controls.IndexOf(clickedLabel);
    if(index == _LabelIndex)
    {
        // used have clicked the red label.
    }
}

修改 现在这里是一个xpath.bat - 一个可以解析xml文件的常用脚本。

答案 1 :(得分:1)

这是一个纯粹的解决方案。以下脚本需要三个命令行参数:给定顺序中的(文件路径)XML文件,节点(示例中为#include <iostream> #include <cmath> auto getπ() { return M_PI; } int main() { auto appleπ = getπ(); std::cout << appleπ << "\n"; } )和属性名称(slideshow)。返回数据输出到控制台窗口,可以重定向到文件(date)。

这是运行脚本的示例命令行(假设XML文件名为>,脚本名为presentation.xml,结果数据将写入extract-xml-attrib.bat) :

attr.txt

这是脚本"extract-xml-attrib.bat" "presentation.xml" "slideshow" "date" > "attr.txt"

的代码
extract-xml-attrib.bat