>  기사  >  웹 프론트엔드  >  Js XML 작업_javascript 기술

Js XML 작업_javascript 기술

WBOY
WBOY원래의
2016-05-16 19:26:06900검색

xml 파일 Login.xml은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.


<로그인>

;                 < >                                                                         캐릭터>
< 무기>

">

< EconomyProperty>



  < P Text="방어에 주의하세요" Value="3">






먼저 이 xml 파일을 로드해야 합니다. 계속하려면 XMLDOM을 통해 js에 로드해야 합니다. >코드 복사


코드는 다음과 같습니다.

// xml 문서 로드
loadXML = function(xmlFile)
{
var xmlDoc ; {
return null;
}



예를 들어 이제 Login/Weapon/W 노드의 첫 번째 노드 속성을 가져와야 하며 다음과 같이 진행할 수 있습니다.




코드 복사


코드는 다음과 같습니다.

// 먼저 xml 객체를 판단합니다.
checkXMLDocObj = function(xmlFile)
{
var xmlDoc = loadXML(xmlFile)
if(xmlDoc==null)
{
Alert('귀하의 브라우저는 xml 파일 읽기를 지원하지 않으므로 이 페이지에서 작업을 할 수 없습니다. 이 문제를 해결하려면 IE5.0 이상을 사용하는 것이 좋습니다!'); '/Index.aspx';
}

return xmlDoc;
}

// 그런 다음 Login/Weapon/W의 첫 번째 노드에 필요한 속성 값을 가져오기 시작합니다.
var xmlDoc = checkXMLDocObj('/EBS/XML/Login.xml');
var v = xmlDoc.getElementsByTagName('Login/Weapon/W')[0].childNodes.getAttribute('Text')

제가 프로그램에서 쓰는 방식은 이렇습니다. 물론, 실제로도 프로그램에서 쓰는 방식을 적용한 것입니다

코드 복사 코드는 다음과 같습니다.
initializeSelect = function(oid, xPath)
{
var xmlDoc = checkXMLDocObj('/EBS/XML/Login.xml');
var n
var l
var e = $(oid)
if(e!=null)
{
n = xmlDoc.getElementsByTagName(xPath)[0].childNodes;
l = n.length;
for(var i=0; i {
var option = document.createElement('option');
option.value = n[i].getAttribute('Value')
option.innerHTML = n[i].get Attribute(' Text ');
e.appendChild(option);
xmlDoc.documentElement.childNodes(1)..childNodes(0).getAttribute('Text')를 통해서도 접근할 수 있습니다.
몇 가지 일반적인 방법:
xmlDoc.documentElement.childNodes(0 ).nodeName,
xmlDoc.documentElement.childNodes(0).nodeValue, 값을 얻을 수 있습니다. 이 값은 b와 같은 xml 형식에서 나오므로 b 값을 얻을 수 있습니다.
xmlDoc.documentElement.childNodes(0).hasChild

내 경험에 따르면 getElementsByTagName(xPath) 메소드를 사용하여 노드에 액세스하는 것이 가장 좋습니다. 이렇게 하면 xPath를 통해 노드를 직접 찾을 수 있으므로 성능이 더 좋습니다.