XMLNode - 범위 지정, 전역
범위가 지정된 XMLNode API를 사용하면 XML 노드에서 값을 쿼리할 수 있습니다. XMLNodes는 XML 문자열이 포함된 XMLDocument2 객체에서 추출됩니다.
XMLNode 객체의 독립 실행형 인스턴스를 만들기 위한 생성자는 없습니다. 대신 기존 문서에 노드를 추가하는 XMLDocument2의 createElement() 메서드를 사용합니다.
범위가 지정된 XMLNode - getAttribute(String 속성)
특성의 값을 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 속성 | 문자열 | 속성의 이름입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 특성의 값입니다. |
var xmlString = "<test>" +
" <one>" +
" <two att=\"xxx\">abcd1234</two>" +
" <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
" <two>another</two>" +
" </one>" +
" <number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);
var node = xmlDoc.getNode('//two');
gs.info(node.getAttribute('att'));
출력:
xxx
범위가 지정된 XMLNode - getAttributes()
노드의 속성을 값이 있는 속성으로 포함하는 객체를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 객체 | 이름이 속성이고 값이 속성의 값인 이름-값 쌍을 포함합니다. |
범위가 지정된 XMLNode - getChildNodeIterator()
자식 노드 목록을 탐색하는 데 사용할 수 있는 XMLNodeIterator 개체를 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| XMLNodeIterator(XMLNodeIterator) | 노드 반복기 객체입니다. |
var xmlString = "<test>" +
" <one>" +
" <two att=\"xxx\">abcd1234</two>" +
" <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
" <two>another</two>" +
" </one>" +
" <number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);
var node = xmlDoc.getNode('//one');
var iter= node.getChildNodeIterator();
gs.info(iter.hasNext());
범위가 지정된 XMLNode - getFirstChild()
노드의 첫 번째 자식 노드를 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| Xmlnode | 노드의 첫 번째 자식 노드입니다. |
var xmlString = "<test>" +
"<one>" +
"<two att=\"xxx\">abcd1234</two>" +
"<three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
"<two>another</two>" +
"</one>" +
"<number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);
var node = xmlDoc.getNode('//one');
gs.info(node.getFirstChild());
<two att="xxx">abcd1234</two>범위가 지정된 XMLNode - getLastChild()
노드의 마지막 자식 노드를 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| Xmlnode | 노드의 마지막 자식입니다. |
var xmlString = "<test>" +
"<one>" +
"<two att=\"xxx\">abcd1234</two>" +
"<three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
"<two>another</two>" +
"</one>" +
"<number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);
var node = xmlDoc.getNode('//one');
gs.info(node.getLastChild());
<two>another</two>범위가 지정된 XMLNode - getNodeName()
노드의 이름을 가져옵니다. 노드의 이름은 노드 유형에 따라 결정됩니다. 문서 요소 노드의 이름은 #document입니다. 텍스트 노드의 이름은 #text입니다. 요소 노드의 이름은 요소의 이름입니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | 노드의 이름입니다. |
var xmlString = "<test>" +
" <one>" +
" <two att=\"xxx\">abcd1234</two>" +
" <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
" <two>another</two>" +
" </one>" +
" <number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);
var node = xmlDoc.getNode('//two');
gs.info(node.getNodeName());
출력:
two
범위가 지정된 XMLNode - getNodeValue()
노드의 값을 가져옵니다. 노드의 값은 노드 유형에 따라 결정됩니다. Element 및 document-element 노드는 null을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | 노드의 값입니다. |
var xmlString = "<test>" +
" <one>" +
" <two att=\"xxx\">abcd1234</two>" +
" <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
" <two>another</two>" +
" </one>" +
" <number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);
var node = xmlDoc.getNode('//two');
gs.info(node.getNodeValue());
출력:
null
범위가 지정된 XMLNode - getTextContent()
현재 노드의 텍스트 내용을 가져옵니다. 노드의 텍스트 컨텐츠는 노드의 모든 하위 텍스트 노드로 구성됩니다
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | 현재 노드의 텍스트 컨텐츠입니다. |
var xmlString = "<test>" +
" <one>" +
" <two att=\"xxx\">abcd1234</two>" +
" <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
" <two>another</two>" +
" </one>" +
" <number>1234</number>" +
"</test>";
var xmldoc = new XMLDocument2();
xmldoc.parseXML(xmlString);
var node = xmldoc.getNode('//one/two');
gs.info(node.getTextContent());
출력:
abcd1234
범위가 지정된 XMLNode - hasAttribute(String 속성)
노드에 지정된 속성이 있는지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 속성 | 문자열 | 검사할 특성의 이름입니다. |
| 유형 | 설명 |
|---|---|
| 부울 | 노드에 특성이 있으면 True입니다. |
var xmlString = "<test>" +
" <one>" +
" <two att=\"xxx\">abcd1234</two>" +
" <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
" <two>another</two>" +
" </one>" +
" <number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);
var node = xmlDoc.getNode('//two');
gs.info(node.hasAttribute('att'));
출력:
true
범위가 지정된 XMLNode - isCDATANode()
CDATA 노드가 별도의 노드로 유지되는지 여부를 나타냅니다.
이 범위가 지정된 XMLDocument2 - setEnableCDATAReporting(부울 활성화) 메서드를 사용하여 CDATA 노드가 유지되고 텍스트로 처리되지 않도록 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 부울 | 쿼리된 노드가 CDATA인지 일반 텍스트인지를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
|
다음 예제에서는 를 사용하여 범위가 지정된 XMLDocument2 - setEnableCDATAReporting(부울 활성화)CDATA 보고를 사용하도록 설정된 XML 문자열을 구문 분석하는 방법을 보여 줍니다. 이 코드에서는 isCDATANode() 를 사용하여 XML 문자열에서 쿼리된 첫 번째 노드가 CDATA 노드임을 보여 줍니다.
var xmlString = "<test>" +
" <one>" +
" <two att=\"xxx\">abcd1234</two>" +
" <three boo=\"yah\" att=\"yyy\">1234abcd</three>"+
" <four><![CDATA[another]]>element</four>" +
" </one>" +
" <number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.setEnableCDATAReporting(true); // Enables CDATA reporting
xmlDoc.parseXML(xmlString);
var content = xmlDoc.getFirstNode('/test/one/four');
gs.info(content.getFirstChild().isCDATANode());
출력:
true
범위가 지정된 XMLNode - toString()
현재 노드의 문자열 값을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | 현재 노드의 문자열 값입니다. |
var xmlString = "<test>" +
" <one>" +
" <two att=\"xxx\">abcd1234</two>" +
" <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
" <two>another</two>" +
" </one>" +
" <number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);
var node = xmlDoc.getNode('//one');
gs.info(node.toString());
<one>
<two att="xxx">abcd1234</two>
<three att="yyy" boo="yah">1234abcd</three>
<two>another</two>
</one>