修改XML的标记结构并读取它

时间:2011-09-16 14:00:18

标签: java xml

目前我们正在制作xml如下:

<?xml version="1.0"?>
<!DOCTYPE PARTS SYSTEM "parts.dtd">
<?xml-stylesheet type="text/css" href="xmlpartsstyle.css"?>
<PARTS>
   <TITLE>Computer Parts</TITLE>
   <PART>
      <ITEM>Motherboard</ITEM>
         </PART>
   </PARTS>

但现在我们想用Java修改为

<?xml version="1.0"?>
<!DOCTYPE PARTS SYSTEM "parts.dtd">
<?xml-stylesheet type="text/css" href="xmlpartsstyle.css"?>
<PARTS>
   <TITLE>Computer Parts</TITLE>
   <PART>
      <ITEM>Motherboard</ITEM>
      <ITEM>Mouse</ITEM> 
      and other parts
    </PART>
</PARTS>

这个“和其他部分”存储在字符串中,它将被放置在侧面项目标签之前和部分标签结束之前。

我无法做到:( 我为节点PART尝试了settextContent,但它没有按预期工作 还尝试了setNodevalue也无法正常工作

任何帮助将不胜感激。 TIA。

2 个答案:

答案 0 :(得分:0)

我相信你需要创建一个textnode来保存“和其他部分”位,然后将它作为子节点附加到PARTS元素,就像你追加其他元素一样。类似的东西:

    Text text = doc.createTextNode("and more parts" );
    parts.appendChild(text);

答案 1 :(得分:0)

如果您在验证xml文件时遇到麻烦,您的架构应该定义<xs:complexType name="PART" mixed="true">

将内容<ITEM>Motherboard</ITEM> <ITEM>Mouse</ITEM> and other parts本身添加到PART元素可以使用createTextNode()来完成,该{{1}}内置了所需的xml文本。