从xml文件获取属性值

时间:2019-03-04 03:47:41

标签: xml parsing

我是一个非常初学者,正在努力从xml文档中获取属性值并将其保存在文本文件中。 例如

<Data>
<Sample Value="5.64472e-011"/>
<Sample Value="8.91325e-007"/>
</Data>

我只需要这些值,例如5.64472e-011和8.91325e-007。

2 个答案:

答案 0 :(得分:0)

您可以通过在XML节点上调用attributes()函数来获取XML元素的属性。要了解有关属性的更多信息:php.net

下面是一个示例PHP代码,用于根据您的情况获取Value属性:

<?php
$xml = <<<XML
<Data>
<Sample Value="5.64472e-011"/>
<Sample Value="8.91325e-007"/>
</Data>
XML;

$data = simplexml_load_string($xml);
foreach($data as $key => $node) {
    echo $node->attributes()->Value . "\n"; // here Value is an attribute name.. you can get any attribute like this.
}
?>

要将XML用作外部文件:

<?php
$data = simplexml_load_file('test.xml'); // path of XML file consists of data you shared above.
foreach($data as $key => $node) {
    echo $node->attributes()->Value . "\n";
}
?>

两种情况下的输出应如下所示:

5.64472e-011
8.91325e-007

答案 1 :(得分:0)

您还可以从命令行使用实用程序:

xmllint --xpath /Data/Sample/@Value ./sample.xml

xmllint二进制文件是libxml软件包的一部分