免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2511 | 回复: 0
打印 上一主题 下一主题

java的dom解析xml时如果包含url的dtd时解析出错 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-05-02 13:58 |只看该作者 |倒序浏览
当DTD在xml中以url表示时解析的时候会去连接网络,结果返回失败,如何让程序不去读这个dtd?
<?xmlversion="1.1">;                                                                                      <!DOCTYPE mmc PUBLIC "-//PHONE.COM//DTD MMC 1.0//EN"
"http://www.phone.com/dtd/mmc10.dtd">;

source:
package xmlwriter;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.*;


public class xmlwriter {

public static void  main(String args[]){
try{
  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  DocumentBuilder builder=factory.newDocumentBuilder();
  Document doc=builder.parse("links.xml";
  doc.normalize();
   //---取得变量----
  String text="Wudong's Homepage";
  String url="www.wudong.com";
  String author="Wudong Liu";
  String discription="A site from Wudong Liu, give u lots of suprise!!!";
  //-------------
  Text textseg;
  Element link=doc.createElement("link";

  Element linktext=doc.createElement("text";
  textseg=doc.createTextNode(text);
  linktext.appendChild(textseg);
  link.appendChild(linktext);

  Element linkurl=doc.createElement("url";
  textseg=doc.createTextNode(url);
  linkurl.appendChild(textseg);
  link.appendChild(linkurl);

  Element linkauthor=doc.createElement("author";
  textseg=doc.createTextNode(author);
  linkauthor.appendChild(textseg);
  link.appendChild(linkauthor);

  java.util.Calendar rightNow = java.util.Calendar.getInstance();
  String day=Integer.toString(rightNow.get(java.util.Calendar.DAY_OF_MONTH));
  String month=Integer.toString(rightNow.get(java.util.Calendar.MONTH));
  String year=Integer.toString(rightNow.get(java.util.Calendar.YEAR));
  Element linkdate=doc.createElement("date";

  Element linkdateday=doc.createElement("day";
  textseg=doc.createTextNode(day);
  linkdateday.appendChild(textseg);

  Element linkdatemonth=doc.createElement("month";
  textseg=doc.createTextNode(month);
  linkdatemonth.appendChild(textseg);


  Element linkdateyear=doc.createElement("year";
  textseg=doc.createTextNode(year);
  linkdateyear.appendChild(textseg);

  linkdate.appendChild(linkdateday);
  linkdate.appendChild(linkdatemonth);
  linkdate.appendChild(linkdateyear);
  link.appendChild(linkdate);

  Element linkdiscription=doc.createElement("description";
  textseg=doc.createTextNode(discription);
  linkdiscription.appendChild(textseg);
  link.appendChild(linkdiscription);

  doc.getDocumentElement().appendChild(link);

  TransformerFactory tFactory =TransformerFactory.newInstance();
  Transformer transformer = tFactory.newTransformer();
  DOMSource source = new DOMSource(doc);
  StreamResult result = new StreamResult(new java.io.File("links.xml"));
  transformer.transform(source, result);
  }catch(Exception e){
    e.printStackTrace();
  }
  }
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP