锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 鍚嶇О鍖呭惈鏃犳晥瀛楃銆傚鐞嗚祫婧?'file:///E:/web/TestXML.java' 鏃跺嚭閿欍傜 19 琛岋紝浣嶇疆: 22
閿欒淇℃伅鏄繖鏍風殑錛?br>---------- Java緙栬瘧 ----------[姝ら棶棰樿В鍐沖嚱鏁板悕澶у皬鍐欐悶閿欎簡] Output completed (5 sec consumed) - Normal Termination Output completed (3 sec consumed) - Normal Termination ---------- Java榪愯 ----------[鐜板湪鐨勯敊璇痌 Output completed (0 sec consumed) - Normal Termination Output completed (0 sec consumed) - Normal Termination 緇忚繃緙栬瘧鍑虹幇濡備笅閿欒錛?br>---------- Java緙栬瘧 ---------- Output completed (0 sec consumed) - Normal Termination 鎵嬫満2780鍏?/p>
Output completed (0 sec consumed) - Normal Termination<!ENTITY java SYSTEM "TestXML.java" >
<!ELEMENT root (son1,son2)>
<!ELEMENT son1 (#PCDATA)>
<!ELEMENT son2 (#PCDATA)>
shiti.xml鏂囦歡錛?br>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE root SYSTEM "dtdFile2.dtd">
<root>
<son1>
榪欐槸涓猨ava鏂囦歡錛?br>
&java;
</son1>
<son2>
浣犲ソ錛?br>
</son2>
</root>
TestXML.java鏂囦歡錛氥愰殢渚夸竴涓悕涓篢estXML.java鍗沖彲銆?br>
import javax.xml.parsers.*;
import org.xml.sax.helpers.*;
import org.xml.sax.*;
import java.io.*;
import org.w3c.dom.*;
public class TestXML
{
public static void main(String args[])
{
try
{
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
MyHandler handler=new MyHandler();
builder.setErrorHandler(handler);
Document document=builder.parse(new File("Price.xml"));
NodeList nodelist=document.getElementsByTagName("goods");
int size=nodelist.getLength();
for(int k=0;k<size;k++)
{
Node node=nodelist.item(k);
String name=node.getNodeName();
String content=node.getTextContent();
System.out.print(name);
System.out.println(": "+content);
}
}
catch(Exception e)
{
System.out.println(e);
}
}
}
class MyHandler extends DefaultHandler
{
String errorMessage=null;
public void error(SAXParseException e) throws SAXException
{
errorMessage=e.getMessage();
System.out.println("涓鑸敊璇細"+errorMessage);
}
public void fatalError(SAXParseException e) throws SAXException
{
errorMessage=e.getMessage();
System.out.println("鑷村懡閿欒錛?/span>"+errorMessage);
}
}
鏃犳晥瀛楃鏄?[寮曞彿]鍚楋紵閭e張璇ュ浣曡〃紺哄憿錛熻阿璋㈠ぇ瀹?
for(int k=0;k<size;k++)
---------------------^
瀹炰綋寮曠敤涓殑鐗規畩絎﹀彿涔熻閲囩敤瀹炰綋寮曠敤錛岀浉褰撶畝鍗曠殑鍘熷洜
<?xml version="1.0" encoding="utf-8"?>
<! DOCTYPE 杞?nbsp; SYSTEM "dtdFile.dtd">
<杞?/span>>
<姹借濺 杞︾墝="姹?nbsp;A1234567">浜ら氬伐鍏?/span></姹借濺>
<椹磋濺 杞︾墝="椹?nbsp;A7654321">鍐滅敤杞?/span></椹磋濺>
</杞?/span>>
<!ELEMENT 杞?nbsp; (姹借濺*,椹磋濺*)>
<!ELEMENT 姹借濺(#PCDATA)>
<!ATTLIST 姹借濺 杞︾墝 CDATA #REQUIRED>
<!ELEMENT 椹磋濺(#PCDATA)>
<!ATTLIST 椹磋濺 杞︾墝 CDATA #IMPLIED>
import javax.xml.parsers.*;
import org.xml.sax.helpers.*;
import org.xml.sax.*;
import java.io.*;
public class testone
{
public static void main(String args[])
{
try
{
SAXParserFactory factory=SAXParserFactory.newInstance();
factory.setValidating(true);
factory.setNamespaceAware(true);
SAXParser saxParser=factory.newSAXParser();
MyHandler handler=new MyHandler();
saxParser.parse(new File("car.xml"),handler);
}
catch(Exception e)
{System.out.println(e);}
}
}
class MyHandler extends DefaultHandler
{
public void startElement(String uri,String localName,String qName,Attributes atts)
{
System.out.print("<"+localName+">");
System.out.println("璇ユ爣璁扮殑灞炴э細");
for(int k=0;k<atts.getLength();k++)
{
System.out.print("灞炴у悕縐幫細");
System.out.print(atts.getLocalName(k)+" ");
System.out.print("灞炴х被鍨嬶細");
System.out.print(atts.getType(k)+" ");
System.out.print("灞炴х殑鍊鹼細");
System.out.print(atts.getValue(k)+" ");
}
}
public void endElement(String uri,String localName,String qName)
{
System.out.println("<"+localName+">");
}
public void error(SAXParseException e)throws SAXException
{
String errorMessage=e.getMessage();
System.out.println("涓鑸敊璇細"+errorMessage);
}
}
testone.java:13: 鎵句笉鍒扮鍙?br>絎﹀彿錛?鏂規硶 newSaxParser()
浣嶇疆錛?綾?javax.xml.parsers.SAXParserFactory
SAXParser saxParser=factory.newSaxParser();
^
1 閿欒
----------------------------------------------------------------------------
絎﹀彿鎸囦粈涔堝晩錛?br>閿欒淇℃伅絎簩涓細
---------- Java榪愯 ----------
org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed.
---------------------------------------------------------------------------------------------------------------------
鐩稿叧榪炴帴http://book.csdn.net/bookfiles/234/10023410858.shtml
浣跨敤嫻忚鍣ㄦ鏌ml鏂囦歡寰楀埌濡備笅淇℃伅錛?br>-----------------------------------------------
鏃犳硶鏄劇ず XML 欏點?
浣跨敤 鏍峰紡琛ㄦ棤娉曟煡鐪?XML 杈撳叆銆傝鏇存閿欒鐒跺悗鍗曞嚮 鍒鋒柊鎸夐挳錛屾垨浠ュ悗閲嶈瘯銆?
鏂囨湰鍐呭涓彂鐜版棤鏁堝瓧絎︺傚鐞嗚祫婧?'file:///E:/web/dtdFile.dtd' 鏃跺嚭閿欍傜 1 琛岋紝浣嶇疆: 12 <!ELEMENT
------------------------------------------------------
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
^_^緇堜簬鎵鏈夐棶棰橀兘瑙e喅浜?br>鏈鍚庝竴涓棶棰樻槸鍥犱負dtd鏂囦歡娌℃湁鎸塽tf-8緙栫爜鏂瑰紡淇濆瓨鎵瀵艱嚧鐨勶紒
鐜板湪鐨勮繍琛岀粨鏋滐細
---------- Java榪愯 ----------
<杞?gt;璇ユ爣璁扮殑灞炴э細
<姹借濺>璇ユ爣璁扮殑灞炴э細
灞炴у悕縐幫細杞︾墝 灞炴х被鍨嬶細CDATA 灞炴х殑鍊鹼細姹?A1234567 <姹借濺>
<椹磋濺>璇ユ爣璁扮殑灞炴э細
灞炴у悕縐幫細杞︾墝 灞炴х被鍨嬶細CDATA 灞炴х殑鍊鹼細椹?A7654321 <椹磋濺>
<杞?gt;<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet href="show.css" type="text/css" ?>
<goods>
<name>鐢佃鏈?/span><price>3400鍏?/span></price>
</name>
<name>鎵嬫満<price>2780鍏?/span></price>
</name>
</goods>
import javax.xml.parsers.*;
import org.xml.sax.helpers.*;
import org.xml.sax.*;
import java.io.*;
import org.w3c.dom.*;
public class TestXML
{
public static void main(String args[])
{
try
{
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
MyHandler handler=new MyHandler();
builder.setErrorHandler(handler);
Document document=builder.parse(new File("Price.xml"));
NodeList nodelist=document.getElementsByTagName("goods");
int size=nodelist.getLength();
for(int k=0;k<size;k++)
{
Node node=nodelist.item(k);
String name=node.getNodeName();
String content=node.getTextContent();
System.out.print(name);
System.out.println(": "+content);
}
}
catch(Exception e)
{
System.out.println(e);
}
}
}
class MyHandler extends DefaultHandler
{
String errorMessage=null;
public void error(SAXParseException e) throws SAXException
{
errorMessage=e.getMessage();
System.out.println("涓鑸敊璇細"+errorMessage);
}
public void fatalError(SAXParseException e) throws SAXException
{
errorMessage=e.getMessage();
System.out.println("鑷村懡閿欒錛?/span>"+errorMessage);
}
}
TestXML.java:23: cannot resolve symbol
symbol : method getTextContent ()
location: interface org.w3c.dom.Node
String content=node.getTextContent();
^
1 error
---------------------------------------------------------------------
緗戜笂璇磋繖涓猤etTextContent ()鏂規硶鏄痙om level3寮濮嬭兘鐢ㄧ殑
鎴戠敤鐨勬槸j2sdk1.4.2_13緙栬瘧鐨?br>閮侀椃浜嗭紝涓嶇煡閬撳摢閲岄敊浜?榪樻湁灝辨槸瑙f瀽鏉ユ湁浠涔堢敤鍛紵璇鋒暀楂樻墜緇欐垜浠嬬粛涓涓嬪叿浣撶殑搴旂敤錛屾榪庤創鐐逛唬鐮侀錛屽懙鍛?br>---------------------------------------------------------------------
鏌ヤ簡涓涓嬫簮浠g爜錛屽彂鐜版牴鏈病鏈夎繖涓嚱鏁幫紝鐚滄兂鍙兘鏄痵dk鐗堟湰榪囨湡浜?br>浜庢槸鍒癹ava瀹樻柟涓嬩簡涓渶鏂扮増鐨刯dk1.6.0
^_^錛佸緢鎴愬姛鐨勯氳繃浜?br>---------- Java榪愯 ----------
goods:
鐢佃鏈?400鍏?/p>
--------------------------------------------------------------