xml文档:
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE sonnet SYSTEM "XmlDomDemo.dtd">
<sonnet type="tfnew21">
<author>
<last-name>天烽</last-name>
<first-name>三峰</first-name>
<nationality>北国</nationality>
<year-of-birth>1980</year-of-birth>
</author>
<title>天峰个人诗集散文</title>
<text>
<line>我爱的人眼睛完全不像太阳,</line>
<line>红与她的唇相比,珊瑚更红。</line>
</text>
</sonnet>
tdt文档:
<!ELEMENT sonnet(author,title?,text)>
<!ATTLIST sonnet type(tfnew21|Petrarchan)"tfnew21">
<!ELEMENT text(line,line)>
<!ELEMENT author(last-name,first-name,nationality,year-of-birth?,year-of-death?)>
<!ELEMENT title(#PCDATA)>
<!ELEMENT last-name(#PCDATA)>
<!ELEMENT first-name(#PCDATA)>
<!ELEMENT nationality(#PCDATA)>
<!ELEMENT year-of-birth(#PCDATA)>
<!ELEMENT line(#PCDATA)>java文档:
package com.javapp.xml;
import org.apache.xerces.parsers.*;
import org.w3c.dom.*;
public class XmlDomDemo
{
public void parseAndPrint(String uri)
{
Document doc=null;
try
{
DOMParser parser=new DOMParser();
parser.parse(uri);
doc=parser.getDocument();
}
catch(Exception e)
{
System.err.println("soory,an error occurred:"+e);
}
if(doc!=null)
{
printDOMTree(doc);
}
}
public void printDOMTree(Node node)
{
int type=node.getNodeType();
switch(type)
{
case Node.DOCUMENT_NODE:
{
System.out.println("<?xml version=\"1.0\"?>");
printDOMTree(((Document)node).getDocumentElement());
break;
}
}
}
public static void main(String argv[])
{
if(argv.length==0)
{
System.out.println("输入java文件地址和xml文档");
argv=new String[1];
argv[0]="XmlDemoone.xml";
}
XmlDomDemo d1=new XmlDomDemo();
d1.parseAndPrint(argv[0]);
}
}
编译时发生错误:
XmlDomDemo.java:12: 无法访问 org.apache.xerces.xni.parser.XMLInputSource
未找到 org.apache.xerces.xni.parser.XMLInputSource 的类文件
parser.parse(uri);
^
1 错误请问是什么原因?
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE sonnet SYSTEM "XmlDomDemo.dtd">
<sonnet type="tfnew21">
<author>
<last-name>天烽</last-name>
<first-name>三峰</first-name>
<nationality>北国</nationality>
<year-of-birth>1980</year-of-birth>
</author>
<title>天峰个人诗集散文</title>
<text>
<line>我爱的人眼睛完全不像太阳,</line>
<line>红与她的唇相比,珊瑚更红。</line>
</text>
</sonnet>
tdt文档:
<!ELEMENT sonnet(author,title?,text)>
<!ATTLIST sonnet type(tfnew21|Petrarchan)"tfnew21">
<!ELEMENT text(line,line)>
<!ELEMENT author(last-name,first-name,nationality,year-of-birth?,year-of-death?)>
<!ELEMENT title(#PCDATA)>
<!ELEMENT last-name(#PCDATA)>
<!ELEMENT first-name(#PCDATA)>
<!ELEMENT nationality(#PCDATA)>
<!ELEMENT year-of-birth(#PCDATA)>
<!ELEMENT line(#PCDATA)>java文档:
package com.javapp.xml;
import org.apache.xerces.parsers.*;
import org.w3c.dom.*;
public class XmlDomDemo
{
public void parseAndPrint(String uri)
{
Document doc=null;
try
{
DOMParser parser=new DOMParser();
parser.parse(uri);
doc=parser.getDocument();
}
catch(Exception e)
{
System.err.println("soory,an error occurred:"+e);
}
if(doc!=null)
{
printDOMTree(doc);
}
}
public void printDOMTree(Node node)
{
int type=node.getNodeType();
switch(type)
{
case Node.DOCUMENT_NODE:
{
System.out.println("<?xml version=\"1.0\"?>");
printDOMTree(((Document)node).getDocumentElement());
break;
}
}
}
public static void main(String argv[])
{
if(argv.length==0)
{
System.out.println("输入java文件地址和xml文档");
argv=new String[1];
argv[0]="XmlDemoone.xml";
}
XmlDomDemo d1=new XmlDomDemo();
d1.parseAndPrint(argv[0]);
}
}
编译时发生错误:
XmlDomDemo.java:12: 无法访问 org.apache.xerces.xni.parser.XMLInputSource
未找到 org.apache.xerces.xni.parser.XMLInputSource 的类文件
parser.parse(uri);
^
1 错误请问是什么原因?
if(node.getNodeValue()!=null&&!node.getNodeValue().trim().equals(""))
System.out.println(node.getNodeValue());
if(node.hasChildNodes())
{
Node thisnode = node.getFirstChild();
printDOMTree(thisnode);
}
Node newnode = node.getNextSibling();
if (newnode != null ) {
printDOMTree(newnode);
}
}
输出:
输入java文件地址和xml文档
天烽
三峰
北国
1980
天峰个人诗集散文
我爱的人眼睛完全不像太阳,
红与她的唇相比,珊瑚更红。
没取到文件???
1.jar未导入。
2.jar导错了。