首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SimpleXML中现有父元素中的XML

SimpleXML中现有父元素中的XML
EN

Stack Overflow用户
提问于 2017-03-21 01:01:46
回答 1查看 97关注 0票数 0

我想将另一个"Rasse“元素添加到现有的xml文件中,但这是我得到的基本结果:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<catalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="katzen.xsd">

</catalog>
<Rasse previewimage="http://http://www.planet-wissen.de/natur/haustiere/katzen/dasmiauenisteherseltenzuhoeren100~_v-gseapremiumxl.jpg">
  <titel>sdfsdf</titel>
  <aussehen fell="langhaar">sdfsdf</aussehen>
  <charakter>
    <Wohnungskatze wohnung="ja"/>
    <Familienkatze kinder="ja"/>
    <Bewegungsbedarf bewegung="hoch"/>
    <Garteneignung garten="ja"/>
  </charakter>
</Rasse>

这里发生的情况是,"Rasse“不包括在”目录“中。

这是我的php代码:

代码语言:javascript
运行
复制
$xml = simplexml_load_file('katzi.xml');

$dom = new DOMDocument;
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($xml->asXML());

$previewimagee = $_POST['previewimage'];
$titell = $_POST['titel'];
$aussehenn = $_POST['aussehen'];
$felll = $_POST['fell'];
$Wohnungskatzee = $_POST['Wohnungskatze'];
$wohnungg = $_POST['wohnung'];
$Familienkatzee = $_POST['Familienkatze'];
$kinderr = $_POST['kinder'];
$Bewegungsbedarff = $_POST['Bewegungsbedarf'];
$bewegungg = $_POST['bewegung'];
$Garteneignungg = $_POST['Garteneignung'];
$gartenn = $_POST['garten'];


$root = $dom->appendChild($dom->createElement('Rasse'));
$Rasse = simplexml_import_dom ($root);
$Rasse->addAttribute('previewimage', $previewimagee);
$Rasse->addChild('titel', $titell);
$aussehen = $Rasse->addChild('aussehen', $aussehenn);
$aussehen->addAttribute('fell', $felll);
$charakter = $Rasse->addChild('charakter');
$Wohnungskatze = $charakter->addChild('Wohnungskatze', $Wohnungskatzee);
$Wohnungskatze->addAttribute('wohnung', $wohnungg);
$Familienkatze = $charakter->addChild('Familienkatze', $Familienkatzee);
$Familienkatze->addAttribute('kinder', $kinderr);
$Bewegungsbedarf = $charakter->addChild('Bewegungsbedarf', $Bewegungsbedarff);
$Bewegungsbedarf->addAttribute('bewegung', $bewegungg);
$Garteneignung = $charakter->addChild('Garteneignung', $Garteneignungg);
$Garteneignung->addAttribute('garten', $gartenn);

$dom->save("katzi.xml");

有没有人知道如何将"Rasse“包含在”目录“中,以便我可以添加多少个新的"Rasse”条目?

EN

回答 1

Stack Overflow用户

发布于 2017-03-21 08:13:33

考虑从具有$dom->documentElement的根元素开始捕获<catalog>元素,然后在没有simplexml_import_dom路由但使用createElementaddChildsetAttribute方法的情况下从那里构建树:

代码语言:javascript
运行
复制
$root = $dom->documentElement;
$Rasse = $root->appendChild($dom->createElement('Rasse'));

$Rasse->setAttribute('previewimage', $previewimagee);
$Rasse->appendChild($dom->createElement('titel', $titell));
$aussehen = $Rasse->appendChild($dom->createElement('aussehen', $aussehenn));
$aussehen->setAttribute('fell', $felll);
$charakter = $Rasse->appendChild($dom->createElement('charakter'));
$Wohnungskatze = $charakter->appendChild($dom->createElement('Wohnungskatze', $Wohnungskatzee));
$Wohnungskatze->setAttribute('wohnung', $wohnungg);
$Familienkatze = $charakter->appendChild($dom->createElement('Familienkatze', $Familienkatzee));
$Familienkatze->setAttribute('kinder', $kinderr);
$Bewegungsbedarf = $charakter->appendChild($dom->createElement('Bewegungsbedarf', $Bewegungsbedarff));
$Bewegungsbedarf->setAttribute('bewegung', $bewegungg);
$Garteneignung = $charakter->appendChild($dom->createElement('Garteneignung', $Garteneignungg));
$Garteneignung->setAttribute('garten', $gartenn);

$dom->save("katzi.xml"); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42909601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档