项目中与别的系统交互,需要通过xml格式数据传输,现在又两种格式:
1.
<DataField Name="SND_NODE_CODE" Value="001" />
2.
<SND_NODE_CODE>001</SND_NODE_CODE>
这两种格式到底哪个好点,为什么?

解决方案 »

  1.   

    上面用属性,下面用子元素。设计上的区别是:1 有新的DataField的话,上面好扩展,下面的话,可能就要修改DTD/Schema定义了。
    2 Value如果有结构,则下面的设计好扩展,能加子元素,上面是属性,就不好加结构了。
      

  2.   

    如果value的内容很多,而且有特殊字符的话就用<SND_NODE_CODE><![CDATA[001]]</SND_NODE_CODE>
      

  3.   

    如果用下面这种,在拼xml的时候是怎么做的,以前没这么做过?
      

  4.   

    DOM4J中document对象提供了动态创建xml文件的方法 //创建DOM4J documet对象  
        public static Document createDC(){  
            Document d=DocumentHelper.createDocument();  
            Element  books=d.addElement("books");  
              
            Element  book1= books.addElement("book");  
            book1.addAttribute("id", "1");  
            Element  name1=book1.addElement("name");  
            name1.addText("A");  
            Element  number1=book1.addElement("number");  
            number1.addText("10");  
              
            Element  book2= books.addElement("book");  
            book2.addAttribute("id", "2");  
            Element  name2=book2.addElement("name");  
            name2.addText("B");  
            Element  number2=book2.addElement("number");  
            number2.addText("20");  
              
            Element  book3= books.addElement("book");  
            book3.addAttribute("id", "3");  
            Element  name3=book3.addElement("name");  
            name3.addText("C");  
            Element  number3=book3.addElement("number");  
            number3.addText("30");  
              
            Element  book4= books.addElement("book");  
            book4.addAttribute("id", "4");  
            Element  name4=book4.addElement("name");  
            name4.addText("D");  
            Element  number4=book4.addElement("number");  
            number4.addText("40");  
              
            d.setXMLEncoding("utf-8");  
            return d;  
        }  
      

  5.   

    倒是不建议用字符串操作拼XML,像5楼那样用XML API做应该更安全一些。
    当然,非要用字符串拼,应该也不难。