如何获得价值类型=' Microsoft Lumia'。 这是输出:
android:background
这是我的语法:
<phone>
<model type="Microsoft Lumia">
<lumia id="Lumia 650">
<displaySize>4 Inch</displaySize>
<platformOS>Windows</platformOS>
</lumia>
<lumia id="Lumia 890">
<displaySize>5 Inch</displaySize>
<platformOS>Windows</platformOS>
</lumia>
有人可以帮助我!提前谢谢
答案 0 :(得分:0)
你可以得到'Microsoft Lumia':
alert(document.getElementsByTagName("model")[0].getAttribute("type"));
更新部分: 作为您的评论请求:
var d = document.getElementsByTagName("model")[0].getAttribute("type");
if(d == 'Microsoft Lumia'){
alert(d);
}
答案 1 :(得分:0)
您没有使用编程语言标记问题,但您的代码与使用DOM extension的PHP非常相似:
$roottag = $dom->getElementsByTagName("model")[0].getAttribute("type[contain='Microsoft Lumia']");
如果我理解正确,问题是您不知道如何获取model
元素,其type
属性的值包含'Microsoft Lumia'
字符串。使用以下XPath表达式可以轻松完成此操作:
//model[contains(@type, 'Microsoft Lumia')]
双斜杠选择文档中的所有model
元素。方括号中的条件过滤掉测试调用contains
函数的结果集。该函数检查type
属性值是否包含给定的关键字。
幸运的是,DOM扩展通过其DOMXPath
类支持XPath。如果您的代码不是PHP,您仍然可以用您的语言找出解决方案。一般的想法是使用如上所示的XPath。
PHP中的示例
以下示例打印包含type
关键字的Lumia
属性值。
$xml = <<<'XML'
<phone>
<model type="Microsoft Lumia">
<lumia id="Lumia 650">
<displaySize>4 Inch</displaySize>
<platformOS>Windows</platformOS>
</lumia>
<lumia id="Lumia 890">
<displaySize>5 Inch</displaySize>
<platformOS>Windows</platformOS>
</lumia>
</model>
<model type="MS Lumia">
<lumia id="X">
<displaySize>5 Inch</displaySize>
<platformOS>Windows</platformOS>
</lumia>
</model>
</phone>
XML;
$doc = new DOMDocument;
$doc->loadXML($xml);
$xpath = new DOMXPath($doc);
// See https://www.w3.org/TR/xpath/#function-contains
$keyword = 'Lumia';
$models = $xpath->query("//model[contains(@type, '{$keyword}')]");
foreach ($models as $m) {
printf(
"«%s» contains «%s»\n",
$m->getAttribute('type'),
$keyword
);
}
输出
«Microsoft Lumia» contains «Lumia»
«MS Lumia» contains «Lumia»