混合文本和标签在XML中是否合法?

时间:2014-03-10 08:35:07

标签: xml

以下是可接受的XML结构吗?

<Root>
    <Child ID="1" Name="test">some inner text
        <SecondChild ID="1" Name="test1">some text</SecondChild>
        <SecondChild ID="2" Name="test2">some text 2</SecondChild>
    </Child>
</Root>

我想将innertext()以及子节点插入<Child/>节点。这在XML中是合法的吗?

2 个答案:

答案 0 :(得分:3)

通常,除了标签中的子元素之外,您不必插入一些原始文本...

你想做什么?

无论如何,您可以在此处验证:http://www.w3schools.com/xml/xml_validator.asp

到目前为止,您的文档中几乎没有错误。

答案 1 :(得分:0)

这是合法的,但不建议这样做,因为:

  • 您破坏了XML内容所代表的对象的语义
  • 您无法定义XSD来验证XML文件
  • 解析包含文本和标签的元素的代码编写和测试更加复杂(您必须处理内部空格和换行符)

可以做什么:

  • 如果由于需要在元素中添加文本而遇到这种情况,请将文本部分嵌入到元素的新子元素中或作为标记的属性
  • 如果由于需要向元素添加新信息而遇到这种情况,则可以:

    • 将元素的文本部分移动到该元素的子元素,并将新项目添加为新子元素

    • 将新项目作为属性添加到现有标签