我想使用XML DOM Parser
创建类似的xml文件<dict>
<key>outlineThickness</key> <real>0.0</real>
<key>repeat</key> <false />
<key>rotation</key> <string>no</string>
</dict>
但我的代码显示错误 注意:未定义的变量:第18行的C:\ wamp \ www \ iwatermark \ xmlapi \ xmlapi.php中的dom 致命错误:在第18行的C:\ wamp \ www \ iwatermark \ xmlapi \ xmlapi.php中的非对象上调用成员函数createElement()。
这就是我写的
<?php
class XMLApi
{
private $dom = null;
private $root = null;
public function __construct()
{
$dom = new DOMDocument("1.0");
$dom->formatOutput = TRUE;
$root = $dom->createElement("dict");
$dom->appendChild($root);
}
public function createNode($keyname, $keytext, $valuename, $valuetext)
{
$item = $dom->createElement($keyname);
$root->appendChild($item);
// create text node
$text = $dom->createTextNode($keytext);
$item->appendChild($text);
if($valuename == "true" || $valuename == "false")
{
$item = $dom->createElement($valuename);
$root->appendChild($item);
}
else
{
$item = $dom->createElement($valuename);
$root->appendChild($item);
// create text node
$text = $dom->createTextNode($valuetext);
$item->appendChild($text);
}
// create child element
}
public function ending()
{
$dom->save("test01.xml");
}
}
$obj = new XMLApi();
$obj->createNode("key","outlineThickness","real","0.0");
$obj->createNode("key","repeat","false","");
$obj->createNode("key","rotation","string","no");
$obj->ending();
header("Location: "."test01.xml");
?>
答案 0 :(得分:3)
在从类中访问类变量时,您需要使用$this->dom
。