有一个网址http://168.1.2.179:20000/cmd?cmdtype=GetProgTotalInfo 
提供xml信息如下
Area desc="Area1">
<config desc="TotalInfo">
<UserTotal>5</UserTotal>
<PageViewUserTotal>5</PageViewUserTotal>
<VodUserTotal>0</VodUserTotal>
<TstvUserTotal>0</TstvUserTotal>
</config>
</Area>
我想用java 通过网址读取然后解析
package us;import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;
import org.w3c.dom.Element;public class test1 {
public static void main (String arg[]) throws Exception
{
  URL url = new URL("http://168.1.2.179:20000/cmd?cmdtype=GetProgTotalInfo");
  URLConnection conn = url.openConnection();
  conn.connect();
  InputStream stream=conn.getInputStream();
                 BufferedReader reader = new BufferedReader(new InputStreamReader(stream,"UTF-8"));
                 StringBuffer document = new StringBuffer();
                 String line = null;
while ((line = reader.readLine()) != null){
document.append(line);
}
System.out.println(document);//到这里能正确输出XML信息   DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
  DocumentBuilder builder = dbfactory.newDocumentBuilder();       Document doc = builder.parse(stream);//就是在这里出错
      Element root = doc.getDocumentElement();
      System.out.println("根节点标记名:sub" + root.getTagName());
     }}

解决方案 »

  1.   

      试试用dom4j 
      
      
      //--将一个字符串解析为一个document对象--//
      Document document = DocumentHelper.parseText(documentString);
      Element root = document.getRootElement();
      System.out.println("根节点标记名:sub" + root.getName());
      
      这样就能取得root结点的名称Area   另外,你的xml Area desc="Area1"> 是不是少写了最左边的<