褰揺lementFormDefault="qualified" 鏃訛紝鎵鏈夊叏灞鍏冪礌鐨勫瓙鍏冪礌灝嗚浠ョ己鐪佹柟寮忔斁鍒扮洰鏍囧懡鍚嶇┖闂達紝浣嗘槸鍏ㄥ眬鍏冪礌鎴栬呯被鍨嬪皢琚? 鏀懼埌鐩爣鍛藉悕絀洪棿錛涜屽綋elementFormDefault="unqualified" 鏃訛紝鎵鏈夊叏灞鍏冪礌鐨勫瓙鍏冪礌灝嗚浠ョ己鐪佹柟寮忔斁鍒版棤鍚嶅懡鍚嶇┖闂淬? 鑰屽睘鎬х殑鍛藉悕絀洪棿綾諱技鍦扮敱attributeFormDefault="錛?鏉ユ寚鏄庛?/p>
闇瑕佹槑鐧界殑鏄紝elementFormDefault="錛? 鏄湁浣滅敤鍩熺殑錛屽茍涓旀槸琚戶鎵跨殑錛岄櫎闈炲湪瀛愬畾涔変腑瑕嗙洊鐖跺畾涔夈?/p>
涓嬮潰涓変釜渚嬪瓙璇存槑浜唀lementFormDefault鐨勪嬌鐢ㄦ晥鏋溿傜孩鑹茶〃紺哄睘浜庡凡鍛藉悕絀洪棿鐨勫厓绱狅紝钃濊壊琛ㄧず灞炰簬鏈懡鍚嶇┖闂寸殑鍏冪礌銆?/p>
1.瀹氫箟浜嗙洰鏍囧懡鍚嶇┖闂達紝 鍏ㄥ眬elementFormDefault=“unqualified”銆傝繖鏃墮櫎浜嗗叏灞鍏冪礌鎴栬呯被鍨嬪皢褰掍簬鐩爣鍛藉悕絀洪棿澶栵紝灞閮ㄥ厓绱犲皢褰掍簬鏃犲悕鍛藉悕絀洪棿銆?/p>
unqualified.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs=" targetNamespace="aaaa" elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:element name="c">
<xs:complexType>
<xs:sequence>
<xs:element name="c1" type="xs:double"/>
<xs:element name="c2" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
unqualified.xml
<?xml version="1.0" encoding="UTF-8"?>
<n:c xmlns:n="aaaa" xmlns:xsi="
<c1>3.141593E0</c1>
<c2>String</c2>
</n:c>
2. 瀹氫箟浜嗙洰鏍囧懡鍚嶇┖闂達紝 鍏ㄥ眬elementFormDefault=“qualified”銆傝繖鏃跺叏灞鍏冪礌鎴栬呯被鍨嬪皢褰掍簬鐩爣鍛藉悕絀洪棿錛屽眬閮ㄥ厓绱犲皢浠ョ己鐪佹柟寮忓綊浜庣洰鏍囧懡鍚嶇┖闂淬?/p>
qualified.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs=" targetNamespace="aaaa" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="c">
<xs:complexType>
<xs:sequence>
<xs:element name="c1" type="xs:double"/>
<xs:element name="c2" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
qualified.xml
<?xml version="1.0" encoding="UTF-8"?>
<c xmlns="aaaa" xmlns:xsi="
<c1>3.141593E0</c1>
<c2>String</c2>
</c>
3. 瀹氫箟浜嗙洰鏍囧懡鍚嶇┖闂達紝 鍏ㄥ眬elementFormDefault=“unqualified”銆傝繖鏃跺叏灞鍏冪礌錛坈錛夋垨鑰呯被鍨嬪皢褰掍簬鐩爣鍛藉悕絀洪棿銆? 灞閮ㄥ厓绱狅紙c1錛宑2錛変互緙虹渷鏂瑰紡褰掍簬鏃犲悕鍛藉悕絀洪棿銆傚眬閮ㄥ厓绱狅紙c3錛夊湪灞閮ㄥ畾涔変腑浣跨敤form=“qualified”瑕嗙洊鍏ㄥ眬璁懼畾鐨? unqualified錛岃繖浣垮緱c3褰掍簬鐩爣鍛藉悕絀洪棿錛堝鏋滃畠鏈夊瓙鍏冪礌錛屽瓙鍏冪礌灝嗕互緙虹渷鏂瑰紡褰掍簬鐩爣鍛藉悕絀洪棿錛夈?/p>
qualified2.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs=" targetNamespace="aaaa" elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:element name="c">
<xs:complexType>
<xs:sequence>
<xs:element name="c1" type="xs:double"/>
<xs:element name="c2" type="xs:string"/>
<xs:element name="c3" type="xs:integer" form="qualified"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
qualified2.xml
<?xml version="1.0" encoding="UTF-8"?>
<n:c xmlns:n="aaaa" xmlns:xsi="
<c1>3.141593E0</c1>
<c2>String</c2>
<n:c3>0</n:c3>
</n:c>
杞?: http://bbs.xml.org.cn/dispbbs.asp?boardID=23&ID=25672
濡傞渶璇誨彇銆佹洿鏂般佸垱寤烘垨鑰呮搷浣滄煇涓猉ML鏂囨。錛屽垯闇瑕乆ML瑙f瀽鍣ㄣ?/strong>
瀹炰緥
瑙f瀽XML鏂囦歡 - 璺ㄦ祻瑙堝櫒鐨勫疄渚?/strong>
鏈緥鏄竴涓法嫻忚鍣ㄧ殑瀹炰緥錛屾妸鏌愪釜XML鏂囨。("note.xml")杞藉叆XML瑙f瀽鍣ㄣ?
<html>
<body>
<script
type="text/vbscript">
set
xmlDoc=CreateObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("/example/xmle/xmle_xml_note.xml")
document.write("<h1>Traversing
the XML nodes</h1>")
for each x in
xmlDoc.documentElement.childNodes
document.write("<b>" & x.nodename
& "</b>")
document.write(":
")
document.write(x.text)
document.write("<br><br>")
next
</script>
</body>
</html>
瑙f瀽XML瀛楃涓?- 璺ㄦ祻瑙堝櫒鐨勫疄渚?/strong>
鏈緥鏄竴涓法嫻忚鍣ㄧ殑瀹炰緥錛屽睍紺哄浣曡澆鍏ュ茍瑙f瀽鏌愪釜XML瀛楃涓層?
<html>
<body>
<script
type="text/javascript">
var xmlDoc = new
ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("/example/xmle/xmle_xml_note.xml")
document.write
("The
first XML element in the file contains:
")
document.write
(xmlDoc.documentElement.childNodes.item(0).text)
</script>
</body>
</html>
瑙f瀽涓涓猉ML鏂囨。
濡傞渶鎿嶄綔鏌愪釜XML鏂囨。錛屾偍闇瑕乆ML瑙f瀽鍣ㄣ傝В鏋愬櫒浼氬皢鏂囨。杞藉叆鐢佃剳鐨勫唴瀛樹腑銆備竴鏃︽枃妗h杞藉叆錛屽彲浣跨敤DOM瀵瑰叾鏁版嵁榪涜鎿嶄綔銆侱OM鎶奨ML浣滀負涓棰楁爲鏉ュ鐞嗐?/p>
寰蔣鐨刋ML瑙f瀽鍣ㄤ笌Mozilla嫻忚鍣ㄤ腑浣跨敤鐨勮В鏋愬櫒鏄湁宸紓鐨勩傚湪鏈暀紼嬩腑錛屾垜浠細涓烘偍灞曠ず濡備綍鍒涘緩鍙伐浣滀簬IE鍜孧ozilla嫻忚鍣ㄤ腑鐨勮法嫻忚鍣ㄨ剼鏈?/p>
寰蔣鐨刋ML瑙f瀽鍣?/strong>
寰蔣鐨刋ML瑙f瀽鍣ㄦ槸瀛樺湪浜嶪E 5.0鎴栨洿楂樼増鏈腑鐨凜OM緇勪歡銆備竴鏃︿綘瀹夎浜咺E錛屽氨鍙嬌鐢ㄨ剼鏈潵鍒╃敤瑙f瀽鍣ㄤ簡銆?/p>
寰蔣鐨刋ML瑙f瀽鍣ㄦ敮鎸佹墍鏈夊繀瑕佺殑鍔熻兘錛屾潵閬嶅巻鑺傜偣鏍戯紝璁塊棶鑺傜偣浠ュ強瀹冧滑鐨勫睘鎬у鹼紝鎻掑叆騫跺垹闄よ妭鐐癸紝騫跺皢鑺傜偣鏁拌漿鎹㈠洖XML銆?/p>
濡傞渶鍒涘緩寰蔣XML瑙f瀽鍣ㄧ殑涓涓疄渚嬶紝璇蜂嬌鐢ㄤ笅闈㈢殑浠g爜錛?/p>
JavaScript:
var xmlDoc=new
ActiveXObject("Microsoft.XMLDOM");
VBScript:
set
xmlDoc=CreateObject("Microsoft.XMLDOM")
ASP:
set
xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
涓嬮潰鐨勪唬鐮佹鍙悜寰蔣鐨刋ML瑙f瀽鍣ㄨ澆鍏ヤ竴涓凡鏈夌殑XML鏂囨。("note.xml")錛?/p>
var xmlDoc=new
ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("note.xml");
涓婇潰鐨勮剼鏈殑絎竴琛屽垱寤轟簡XML瑙f瀽鍣ㄧ殑涓涓疄渚嬨傜浜岃鍏抽棴浜嗗悓姝ヨ澆鍏ワ紝榪欐牱鍙互紜繚鍦ㄦ枃妗h瀹屽叏杞藉叆鍓嶈В鏋愬櫒涓嶄細緇х畫鎵ц銆傜涓夎浼氬憡鐭ヨВ鏋愬櫒杞藉叆鍚嶄負"note.xml"鐨刋ML鐨勬枃妗c?/p>
Mozilla銆丗irefox浠ュ強Opera涓殑XML瑙f瀽鍣?/strong>
Mozilla嫻忚鍣ㄧ殑XML瑙f瀽鍣ㄦ敮鎸佹墍鏈夊繀瑕佺殑鍔熻兘錛屾潵閬嶅巻鑺傜偣鏍戯紝璁塊棶鑺傜偣浠ュ強瀹冧滑鐨勫睘鎬у鹼紝鎻掑叆騫跺垹闄よ妭鐐癸紝騫跺皢鑺傜偣鏍戣漿鎹㈠洖XML銆?/p>
濡傞渶鍒涘緩Mozilla嫻忚鍣ㄧ殑XML瑙f瀽鍣ㄧ殑涓涓疄渚嬶紝璇蜂嬌鐢ㄤ笅闈㈢殑浠g爜錛?/p>
JavaScript:
var
xmlDoc=document.implementation.createDocument("ns","root",null);
絎竴涓弬鏁幫紝ns錛屽畾涔夌敤浜嶺ML鏂囨。鐨勫懡鍚嶇┖闂達紙namespace錛夈傜浜屼釜鍙傛暟錛宺oot錛屾槸XML鏂囦歡涓殑XML鏍瑰厓绱犮傜涓変釜鍙傛暟錛宯ull錛屼竴鑸繪槸null錛岃繖鏄敱浜庣洰鍓嶈繕娌℃湁鐢ㄥ埌榪欎釜鍙傛暟銆?/p>
涓嬮潰鐨勪唬鐮佹鍙悜Mozilla嫻忚鍣ㄧ殑XML瑙f瀽鍣ㄨ澆鍏ヤ竴涓凡鏈夌殑XML鏂囨。("note.xml")錛?/p>
var
xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.load("note.xml");
涓婇潰鐨勮剼鏈殑絎竴琛屽垱寤轟簡XML瑙f瀽鍣ㄧ殑涓涓疄渚嬨傜浜岃浼氬憡鐭ヨВ鏋愬櫒杞藉叆鍚嶄負"note.xml"鐨刋ML鐨勬枃妗c?/p>
瑙f瀽鏌愪釜XML鏂囦歡 - 璺ㄦ祻瑙堝櫒鐨勫疄渚?/strong>
涓嬮潰鐨勪緥瀛愭槸涓涓法嫻忚鍣ㄧ殑瀹炰緥錛屽悜XML瑙f瀽鍣ㄨ澆鍏ヤ簡鏌愪釜宸叉湁鐨刋ML鏂囨。("note.xml")錛?/p>
<html>
<head>
<script
type="text/javascript">
var xmlDoc;
function loadXML()
{
// 鐢ㄤ簬 IE
鐨勪唬鐮侊細
if (window.ActiveXObject)
{
xmlDoc=new
ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.load("note.xml");
getmessage();
}
// 鐢ㄤ簬 Mozilla, Firefox,
Opera, 絳夋祻瑙堝櫒鐨勪唬鐮侊細
else if (document.implementation
&&
document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.load("note.xml");
xmlDoc.onload=getmessage;
}
else
{
alert('Your browser cannot handle this script');
}
}
function
getmessage()
{
document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
}
</script>
</head>
<body
onload="loadXML()">
<h1>W3Schools Internal
Note</h1>
<p><b>To:</b> <span
id="to"></span><br />
<b>From:</b> <span
id="from"></span><br />
<b>Message:</b> <span
id="message"></span>
</p>
</body>
</html>
杈撳嚭錛?/p>
W3Schools Internal Note
To: Tove
From: Jani
Message:
Don't forget me this weekend!
閲嶈鐨勬敞閲?/strong>
濡傞渶浠庢煇涓猉ML鍏冪礌錛堟瘮濡?lt;from>Jani</from>錛変腑鎻愬彇鏂囨湰錛堟瘮濡侸ani錛夛紝璇蜂嬌鐢ㄤ笅闈㈢殑璇硶錛?/p>
getElementsByTagName("from")[0].childNodes[0].nodeValue
閲嶈浜嬮」錛歡etElementsByTagName浼氳繑鍥炰竴涓妭鐐規暟緇勩傛鏁扮粍鍚湁XML鏂囨。涓嫢鏈夋寚瀹氬悕縐扮殑鎵鏈夊厓绱犮傚湪榪欎緥瀛愪腑錛屽彧鏈変竴涓?from"鍏冪礌錛屼絾鏄粛鐒墮渶瑕佽瀹氭暟緇勭殑涓嬫爣( [0] )銆?/p>
瑙f瀽涓涓猉ML瀛楃涓?- 璺ㄦ祻瑙堝櫒鐨勫疄渚?/strong>
涓嬮潰鐨勪唬鐮佹槸涓涓法嫻忚鍣ㄧ殑瀹炰緥錛屽悜鎴戜滑灞曠ず浜嗗浣曞姞杞藉拰瑙f瀽鏌愪釜XML瀛楃涓詫細
<html>
<body>
<script
type="text/javascript">
var
text="<note>";
text=text+"<to>Tove</to>";
text=text+"<from>Jani</from>";
text=text+"<heading>Reminder</heading>";
text=text+"<body>Don't
forget me this weekend!</body>";
text=text+"</note>";
// 鐢ㄤ簬 IE
鐨勪唬鐮侊細
if (window.ActiveXObject)
{
var doc=new
ActiveXObject("Microsoft.XMLDOM");
doc.async="false";
doc.loadXML(text);
}
// 鐢ㄤ簬 Mozilla, Firefox, Opera,
絳夋祻瑙堝櫒鐨勪唬鐮侊細
else
{
var parser=new DOMParser();
var
doc=parser.parseFromString(text,"text/xml");
}
// documentElement
鎻愪氦鏍瑰厓绱狅細
var x=doc.documentElement;
document.write("Text of first child
element:
");
document.write(x.childNodes[0].childNodes[0].nodeValue);
document.write("<br
/>");
document.write("Text of second child element:
");
document.write(x.childNodes[1].childNodes[0].nodeValue);
</script>
</body>
</html>
杈撳嚭錛?/p>
Text of first child element: Tove
Text of second child element:
Jani
娉ㄩ噴錛欼nternet Explorer浣跨敤loadXML()鏂規硶瑙f瀽XML瀛楃涓詫紝鑰孧ozilla嫻忚鍣ㄤ嬌鐢―OMParser瀵硅薄銆?/p>