在Perl中构建XML文件:createAttribute和addChild之间的关系

Ame*_*ina 5 xml perl

我正在学习使用XML:LibXMLPerl中的项目,我看到了这个例子.

目标是构建此XML文件:

<?xml version="1.0" encoding="utf-8"?>
<assets xmlns="http://bricolage.sourceforge.net/assets.xsd">
  <story id="1234" type="story">
    <name>Catch as Catch Can</name>
  </story>
</assets>
Run Code Online (Sandbox Code Playgroud)

笔者采用addChild创建storyassets:

my $story = $dom->createElement('story');
Run Code Online (Sandbox Code Playgroud)

然后他使用addChild(与组合createAttribute)来指定属性story:

$story->addChild( $dom->createAttribute( id => 1234));
Run Code Online (Sandbox Code Playgroud)

在XML实例看上面的(不知道很多关于XML),id="1234"是不是孩子故事,而是它的一个属性,那么为什么我们使用的addChild在最后一行?

cho*_*oba 2

通过调用createAttributeor createElement,您可以创建一个新节点。通过调用addChild,您可以将这样的节点附加到其父节点中。XML 中有多种类型的节点:元素、属性,还有文本、注释或处理指令。