以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  关于求根结点的子结点的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=33933)


--  作者:success_dream
--  发布时间:6/7/2006 9:05:00 AM

--  关于求根结点的子结点的问题
orders.xml文件:
<orders>
    <order>
      <customerid limit="1000">12341</customerid>
      <status>pending</status>
      <item instock="Y" itemid="SA15">
         <name>Silver Show Saddle, 16 inch</name>
         <price>825.00</price>
         <qty>1</qty>
      </item>
      <item instock="N" itemid="C49">
         <name>Premium Cinch</name>
         <price>49.00</price>
         <qty>1</qty>
      </item>
   </order>
   <order>
      <customerid limit="150">251222</customerid>
      <status>pending</status>
      <item instock="Y" itemid="WB78">
         <name>Winter Blanket (78 inch)</name>
         <price>20</price>
         <qty>10</qty>
      </item>
   </order>
</orders>

请问orders根结点下有几个子结点?
有五个子结点,两个元素结点,三个空白结点(order 元素之间和周围的),我有些不明白,空白能算做文本结点吗?我写程序时怎样把它忽略掉?我写的程序如下:
public static void main(String[] args) {
  File docFile = new File("h://orders.xml");
       Document doc = null;      
       try {

        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
   //   dbf.isIgnoringElementContentWhitespace();
    //    dbf.setIgnoringElementContentWhitespace(true);
        DocumentBuilder db = dbf.newDocumentBuilder().;
     
        doc = db.parse(docFile);
       //      STEP 1:  Get the root element

        Element root = doc.getDocumentElement();
        System.out.println("The root element is " + root.getNodeName());
        
//      STEP 2:  Get the children
        NodeList children = root.getChildNodes();
        System.out.println("There are "+children.getLength()
                                       +" nodes in this document.");
     
       } catch (Exception e) {
          System.out.print("Problem parsing the file: "+e.getMessage());
       }


  
  
 }
}
程序输出如下:
The root element is orders
There are 5 nodes in this document.
我看书上说元素之间和元素周围的空白也构成文本结点!这到底是为什么呢??
我试了这两个方法,好象不行!
  //   dbf.isIgnoringElementContentWhitespace();
//    dbf.setIgnoringElementContentWhitespace(true);
 


--  作者:success_dream
--  发布时间:6/7/2006 10:44:00 PM

--  
怎么没人回贴啊!!!郁闷!!!
--  作者:success_dream
--  发布时间:6/11/2006 11:37:00 PM

--  
这个论坛为什么总没人???
--  作者:arhao
--  发布时间:10/17/2006 1:22:00 AM

--  
空格和回车都产生TEXT节点,<orders>---</orders>中有三个这样的TEXT节点,二个<order>节点



W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.997ms