Php 检索节点时收到错误消息
使用此代码时,我收到了此类错误消息 无法显示XML页面 无法使用样式表查看XML输入。请更正错误,然后单击>刷新按钮,或稍后重试。 XML文档中只允许有一个顶级元素。处理资源时出错Php 检索节点时收到错误消息,php,xml,Php,Xml,使用此代码时,我收到了此类错误消息 无法显示XML页面 无法使用样式表查看XML输入。请更正错误,然后单击>刷新按钮,或稍后重试。 XML文档中只允许有一个顶级元素。处理资源时出错textstuff 检查您输出的XML源,您的XML缺少文档元素并正在转义 更好的方法是使用DOM复制节点: <?php $string = <<<XML <a><b><c>text</c><c>stuff</c><
textstuff
检查您输出的XML源,您的XML缺少文档元素并正在转义 更好的方法是使用DOM复制节点:
<?php
$string = <<<XML
<a><b><c>text</c><c>stuff</c></b><d><c>code</c></d></a>
XML;
// load source XML and create Xpath instance
$source = new DOMDocument();
$source->loadxml($string);
$xpath = new DOMXpath($source);
// create target document with document element
$target = new DOMDocument();
$root = $target->appendChild($target->createElement('e'));
// copy nodes from source to target
foreach ($xpath->evaluate('/a/b/c') as $child) {
$root->appendChild($target->importNode($child));
}
// output target
echo $target->saveXml();
在此代码下方。。我需要检索特定的节点,这是我想要做的代码
<?php
$string = <<<XML
<a>
<b>
<c>text</c>
<c>stuff</c>
</b>
<b>
<c>code</c>
</b>
<d>
<c>item</c>
</d>
</a>
XML;
$xml = new SimpleXMLElement($string);
$xml->asXML()."<br>";
// echo "<c>".(string)$child."</c>";
foreach( $xml->children() AS $child )
{
//run any query you want on the children.. they are also nodes.
$name1 = $child;
//echo "<pre><c></pre>".$name1."<pre><c></pre><br>";
foreach( $name1->children() AS $child1 )
{
$name2 = $child1->getName();
$child2=$child1;
// echo $name2."--".$child2;
echo "<".$name2.">".$child2."<⁄".$name2.">"."<br>";
}
}
?>
是。我需要检索像textstuff这样的子节点。。我想为此做什么您想回显
标记的值/内容还是以xml形式返回此页我不想以完整xml形式返回此页。。我只需要这个xml节点上的textstuff..对不起..我是php新手。。我也需要价值观。。这就是文本。为什么我们需要创建新元素,我们不能这样孤注一掷地显示文本..我是php新手。。我也需要价值观。。这就是文本。为什么我们需要创建新元素,我们不能单独显示文本。XML总是需要一个文档元素,一个…
是可能的,但不是…
。这与PHP无关,但都与XML有关。您问题中的消息来自浏览器,而不是PHP。。如何检索特定节点。。i、 例如,如果b节点的值为like,则表示它将返回b的子节点。。
<?php
$string = <<<XML
<a>
<b>
<c>text</c>
<c>stuff</c>
</b>
<b>
<c>code</c>
</b>
<d>
<c>item</c>
</d>
</a>
XML;
$xml = new SimpleXMLElement($string);
$xml->asXML()."<br>";
// echo "<c>".(string)$child."</c>";
foreach( $xml->children() AS $child )
{
//run any query you want on the children.. they are also nodes.
$name1 = $child;
//echo "<pre><c></pre>".$name1."<pre><c></pre><br>";
foreach( $name1->children() AS $child1 )
{
$name2 = $child1->getName();
$child2=$child1;
// echo $name2."--".$child2;
echo "<".$name2.">".$child2."<⁄".$name2.">"."<br>";
}
}
?>