以文本方式查看主题 - W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL (http://bbs.xml.org.cn/index.asp) -- 『 DOM/SAX/XPath 』 (http://bbs.xml.org.cn/list.asp?boardid=11) ---- 一个值得探讨的DOM问题 (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=17546) |
-- 作者:1702king -- 发布时间:4/26/2005 9:33:00 PM -- 一个值得探讨的DOM问题 我的程序是这样的: /*******intro.xml************/ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE myMessage [ <!ELEMENT myMessage (message)> <!ELEMENT message (#PCDATA)> ]> <myMessage> <message>Welcome to XML!</message> </myMessage> public class ReplaceText public ReplaceText() if (root.getNodeType()==Node.ELEMENT_NODE) if (messageNodes.getLength()!=0) public static void main(String args[]) public class MyErrorHandler implements ErrorHandler 请问该怎样解决呢? |
-- 作者:1702king -- 发布时间:4/26/2005 9:37:00 PM -- 注释的程序: // Reads intro.xml and replaces a text node. import java.io.*; public class ReplaceText { public ReplaceText() // obtain the default parser // set the parser to validating // set error handler for validation errors // obtain document object from XML document // fetch the root node if ( root.getNodeType() == Node.ELEMENT_NODE ) { if ( messageNodes.getLength() != 0 ) { // create a text node // get the old text node // replace the text |
-- 作者:1702king -- 发布时间:4/26/2005 10:49:00 PM -- 简单一点的另外一个程序:(也是同样的错误...编译能通过...运行时出错) 运行:javac BuildXml.java(编译通过) 运行:java BuildXml(出错) Exception in thread "main" java.lang.ClassCastException at BuildXml.<init><BuildXml.java:40> at BuildXml.main<BuildXml.java:69> import java.io.*; Node contactNode=createContactNode(document); ProcessingInstruction pi=document.createProcessingInstruction("myInstruction","action list"); CDATASection cdata=document.createCDATASection("I can add <, >, and ?" ); try public Node createContactNode(Document document) firstElement.appendChild(document.createTextNode("Sue")); Element contact=document.createElement("contact"); Attr genderAttribute=document.createAttribute("gender"); contact.setAttributeNode(genderAttribute); public static void main(String args[]) |
-- 作者:binaryluo -- 发布时间:4/28/2005 6:50:00 PM -- 我看你的程序要做的事情就是把intros.xml中的内容解析出来,然后输出到intros2.xml中。 但是document不是I/O类型的怎么可能用来做输出操作呢? 如果你要完成的话应该在解析的过程中把解析得到的内容先保存在一个集合类中(也可以是其他容器),然后再用OutputStream之类的I/O操作输出到相应文件中。 不知道这样说能否对你有所帮助? |
-- 作者:1702king -- 发布时间:4/29/2005 11:16:00 AM -- 谢谢你!我知道你说的这种方法... 获得将DOM文档转化为XML文件的转换器,在jdk1.4中,有类TransformerFactory // 来实现,类Transformer实现转化API。 TransformerFactory tfactory = TransformerFactory.newInstance(); Transformer transformer = tfactory.newTransformer(); // 将DOM对象转化为DOMSource类对象,该对象表现为转化成别的表达形式的信息容器。 DOMSource source = new DOMSource(document); // 获得一个StreamResult类对象,该对象是DOM文档转化成的其他形式的文档的容器,可以是XML文件,文本文件,HTML文件。这里为一个XML文件。 StreamResult result = new StreamResult(new File(“intro2.xml”)); |
-- 作者:1702king -- 发布时间:4/29/2005 11:18:00 AM -- 我想com.sun.xml.tree.xmldocument这种write方法是以前旧版本的.. 现在JAXP里面都没有这个com.sun.xml.tree.xmldocument包了...所以不支持 |
-- 作者:lili -- 发布时间:5/12/2005 5:44:00 PM -- 对 |
-- 作者:sericalee -- 发布时间:11/11/2005 10:01:00 AM -- 怎么处理阿,我也遇到了这样的问题 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
78.125ms |