本人想用PHP 对XML节点进行操作,基本思想是:首先创建DomDocument();对象,然后把XML load进来,查找到要操作的节点进行操作。但是问题出现再第一步。
$dom = new DomDocument();时出现以下错误domdocument::domdocument() expects at least 1 parameter, 0 given再网上找了很久也没有确切答案,希望高人指点。
$dom = new DomDocument();时出现以下错误domdocument::domdocument() expects at least 1 parameter, 0 given再网上找了很久也没有确切答案,希望高人指点。
另外你是不是用的xampp,有人说用了xampp 会覆盖旧的php_domxml.dll 而导致错误。http://us.php.net/manual/en/domdocument.construct.php#84476
$dom = new DOMDocument("1.0");
$dom = new DOMDocument('1.0', 'iso-8859-1');
这样看看。
例子 1. Include file example.php with XML string<?php
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<movies>
<movie>
<title>PHP: Behind the Parser</title>
<characters>
<character>
<name>Ms. Coder</name>
<actor>Onlivia Actora</actor>
</character>
<character>
<name>Mr. Coder</name>
<actor>El ActÓr</actor>
</character>
</characters>
<plot>
So, this language. It's like, a programming language. Or is it a
scripting language? All is revealed in this thrilling horror spoof
of a documentary.
</plot>
<rating type="thumbs">7</rating>
<rating type="stars">5</rating>
</movie>
</movies>
XML;
?>
The simplicity of SimpleXML appears most clearly when one extracts a string or number from a basic XML document. 例子 2. Getting <plot><?php
include 'example.php';$xml = simplexml_load_string($xmlstr);echo $xml->movie[0]->plot; // "So this language. It's like..."
?>
例子 3. Accessing non-unique elements in SimpleXMLWhen multiple instances of an element exist as children of a single parent element, normal iteration techniques apply. <?php
include 'example.php';$xml = simplexml_load_string($xmlstr);/* For each <movie> node, we echo a separate <plot>. */
foreach ($xml->movie as $movie) {
echo $movie->plot, '<br />';
}?>
例子 4. Using attributesSo far, we have only covered the work of reading element names and their values. SimpleXML can also access element attributes. Access attributes of an element just as you would elements of an array. <?php
include 'example.php';$xml = simplexml_load_string($xmlstr);/* Access the <rating> nodes of the first movie.
* Output the rating scale, too. */
foreach ($xml->movie[0]->rating as $rating) {
switch((string) $rating['type']) { // Get attributes as element indices
case 'thumbs':
echo $rating, ' thumbs up';
break;
case 'stars':
echo $rating, ' stars';
break;
}
}
?>
例子 5. Comparing Elements and Attributes with TextTo compare an element or attribute with a string or pass it into a function that requires a string, you must cast it to a string using (string). Otherwise, PHP treats the element as an object. <?php
include 'example.php';$xml = simplexml_load_string($xmlstr);if ((string) $xml->movie->title == 'PHP: Behind the Parser') {
print 'My favorite movie.';
}htmlentities((string) $xml->movie->title);
?>
例子 6. Using XpathSimpleXML includes builtin Xpath support. To find all <character> elements: <?php
include 'example.php';
$xml = simplexml_load_string($xmlstr);foreach ($xml->xpath('//character') as $character) {
echo $character->name, 'played by ', $character->actor, '<br />';
}
?> '//' serves as a wildcard. To specify absolute paths, omit one of the slashes.
例子 7. Setting valuesData in SimpleXML doesn't have to be constant. The object allows for manipulation of all of its elements. <?php
include 'example.php';
$xml = simplexml_load_string($xmlstr);$xml->movie[0]->characters->character[0]->name = 'Miss Coder';echo $xml->asXML();
?> The above code will output a new XML document, just like the original, except that the new XML will change Ms. Coder to Miss Coder.
例子 8. DOM InteroperabilityPHP has a mechanism to convert XML nodes between SimpleXML and DOM formats. This example shows how one might change a DOM element to SimpleXML. <?php
$dom = new domDocument;
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!$dom) {
echo 'Error while parsing the document';
exit;
}$s = simplexml_import_dom($dom);echo $s->book[0]->title;
?>
$doc = domxml_open_mem($xmlString);// 从xml文件生成DomDocument对象
//$doc = domxml_open_file($xmlFile);if ($doc) {
$items = $doc->get_elements_by_tagname('item');
foreach ($items as $node) {
$content = $node->get_content();
$node->set_content("Modified on " . date('Y-m-d H:i:s'));
}
$newXmlString = $doc->dump_mem();
//$doc->dump_file($xmlFile);
}
Sarovar Gna Codeplex Highspeedrails Tigris 等
及国内较大型的IT门户
如:CSDN IT168 IT世界网 天极搜索 代码搜索等 同时也加入了网页、新闻、音乐、图片、视频、文学等等分类搜索 网址是:www.sbsou.com 或 www.lovesso.cn
编程的时候,手边要有个PHP的手册http://cn.php.net
否则以为你在倒分呢