노드 개체 속성
childNodes - 노드에서 하위 노드로 노드 목록을 반환합니다
firstChild - 노드의 첫 번째 하위 노드를 반환합니다.
lastChild - 노드의 마지막 하위 노드를 반환합니다.
nextSibling - 노드 바로 뒤에 있는 형제 노드를 반환합니다.
nodeName - 유형에 따라 노드 이름을 반환합니다.
nodeType - 노드 유형을 반환합니다.
nodeValue - 노드 유형에 따라 노드 값을 설정하거나 반환합니다.
ownerDocument - 노드(문서 객체)의 루트 요소를 반환합니다.
parentNode - 노드의 상위 노드를 반환합니다.
previousSibling - 노드 바로 앞에 있는 형제 노드를 반환합니다.
text - 노드 및 해당 하위 항목의 텍스트를 반환합니다(IE만 해당).
xml - 노드 및 해당 하위 항목의 XML을 반환합니다(IE만 해당).
노드 객체의 메서드
appendChild() - 노드의 하위 노드 목록 끝에 새 하위 노드를 추가합니다.
cloneNode() - 노드를 복사합니다.
hasChildNodes() - 현재 노드에 하위 노드가 있는지 여부를 결정합니다.
insertBefore() - 지정된 하위 노드 앞에 새 하위 노드를 삽입합니다.
normalize() - 인접한 Text 노드를 병합하고 빈 Text 노드를 삭제합니다.
removeChild() - 현재 노드의 지정된 하위 노드를 제거하고 반환합니다.
replaceChild() - 하위 노드를 새 노드로 바꿉니다.
IE6 전용
selectNodes() - XPath 표현식을 사용하여 선택 노드를 쿼리합니다.
selectSingleNode() - XPath 쿼리와 일치하는 노드를 찾습니다.
transformNode() - XSLT를 사용하여 노드를 문자열로 변환합니다.
transformNodeToObject() - XSLT를 사용하여 노드를 문서로 변환합니다.
NodeList 객체
length - 노드 목록의 노드 수를 반환합니다.
item() - 노드 목록에서 지정된 인덱스 번호에 있는 노드를 반환합니다.
예:
자바스크립트 코드
xmlDoc = loadXMLDoc(“books.xml”); var x = xmlDoc.getElementsByTagName(“title”); document.write(“title element:” + x.length);
출력: 제목 요소:4
자바스크립트 코드
var y = xmlDoc.documentElement.childNodes; document.write(y.item(0).nodeName);
출력: 도서
NamedNodeMap 객체
length - 목록의 노드 수를 반환합니다.
getNamedItem() - 지정된 노드를 반환합니다. (이름으로)
item() - 지정된 인덱스 번호에 있는 노드를 반환합니다.
removeNamedItem() - 지정된 노드를 제거합니다(이름 기준).
예:
자바스크립트 코드
xmlDoc = loadXMLDoc(“books.xml”); var x = xmlDoc.getElementsByTagName(“book”); document.write(x.item(0).attributes.length);
출력: 1
자바스크립트 코드
document.write(x.item(0).attributes.getNamedItem(“category”);
출력: 요리
자바스크립트 코드
x.item(0).attributes.removeNamedItem(“category”);
첫 번째 책 요소의 카테고리 속성 삭제
문서 개체는 전체 XML 문서를 나타냅니다.
문서 개체의 속성입니다.
async - XML 파일 다운로드를 동기식으로 처리해야 하는지 여부를 지정합니다.
childNodes - 문서의 하위 노드인 노드 목록을 반환합니다.
doctype - 문서와 연결된 문서 유형 선언을 반환합니다.
documentElement - 문서의 하위 노드를 반환합니다.
firstChild - 문서의 첫 번째 하위 노드를 반환합니다.
implementation — 이 문서를 처리하는 DOMImplementation 객체를 반환합니다. (IE에는 없습니다)
lastChild - 문서의 마지막 하위 노드를 반환합니다.
nodeType - 노드 유형을 반환합니다.
nodeName - 유형에 따라 노드 이름을 반환합니다.
nodeValue - 노드 유형에 따라 노드 값을 반환합니다.
text - 노드 및 해당 하위 항목의 텍스트를 반환합니다(IE만 해당).
xml - 노드 및 해당 하위 항목의 XML을 반환합니다(IE만 해당).
문서 개체의 메서드
createAttribute(att_name) - 지정된 이름을 가진 속성 노드를 생성하고 새 속성 객체를 반환합니다.
createCDATASection(data) - CDATA 섹션 노드를 생성합니다.
createComment(data) - 설명 노드를 생성합니다.
createDocumentFragment - 빈 DocumentFragment 객체를 생성하고 이 객체를 반환합니다.
createElement(node_name) - 요소 노드를 생성합니다.
createEntityReference(name) - EntityReference 객체를 생성하고 이 객체를 반환합니다. (IE에만 해당)
createTextNode(data) - 텍스트 노드를 생성합니다.
getElementById(elementid) - 지정된 고유 ID를 가진 요소를 찾습니다.
getElementsByTagName(node_name) - 지정된 이름을 가진 모든 요소 노드를 반환합니다.
예:
자바스크립트 코드
var xmlDoc = loadXMLDoc("book.xml"); xmlDoc.async = false; var book = xmlDoc.getElementsByTagName("book"); var newtext1="Special Offer & Book Sale"; var newCDATA=xmlDoc.createCDATASection(newtext1); book[0].appendChild(newCDATA); var newtext2="Revised September 2006"; var newComment=xmlDoc.createComment(newtext2); book[0].appendChild(newComment); var var newel=xmlDoc.createElement('edition'); var newtext3=xmlDoc.createTextNode('First'); newel.appendChild(newtext3); book[0].appendChild(newel); document.write("<xmp>" + xmlDoc.xml + "</xmp>");
Element 对象的属性
attributes—返回元素的属性的NamedNodeMap
childNodes—返回元素的子节点的NodeList
firstChild—返回元素的首个子节点。
lastChild—返回元素的最后一个子节点。
nextSibling—返回元素之后紧跟的节点。
nodeName—返回节点的名称。
nodeType—返回元素的类型。
ownerDocument—返回元素所属的根元素(document对象)。
parentNode—返回元素的父节点。
previousSibling—返回元素之前紧跟的节点。
tagName—返回元素的名称。
text—返回节点及其后代的文本。(IE-only)
xml—返回节点及其后代得XML。(IE-only)
Element对象的方法
appendChild(node)—向节点的子节点列表末尾添加新的子节点。
cloneNode(true)—克隆节点。
getAttribute(att_name)—返回属性的值。
getAttributeNode(att_name)—以 Attribute 对象返回属性节点。
getElementsByTagName(node_name)—找到具有指定标签名的子孙元素。
hasAttribute(att_name)—返回元素是否拥有指定的属性。
hasAttributes()—返回元素是否拥有属性。
hasChildNodes()—返回元素是否拥有子节点。
insertBefore(new_node,existing_node)—在已有的子节点之前插入一新的子节点。
removeAttribute(att_name)—删除指定的属性。
removeAttributeNode(att_node)—删除指定的属性节点。
removeChild(node)—删除子节点。
replaceChild(new_node,old_node)—替换子节点。
setAttribute(name,value)—添加新的属性或者改变属性的值。
setAttribute(att_node)—添加新的属性。
Javascript代码
x=xmlDoc.getElementsByTagName('book'); for(i=0;i<x.length;i++) { attnode=x.item(i).getAttributeNode("category"); document.write(attnode.name); document.write(" = "); document.write(attnode.value); document.write("<br />"); } for(i=0;i<x.length;i++){ document.write(x[i].getAttribute('category')); document.write("<br />"); } xmlDoc=loadXMLDoc("/example/xdom/books.xml"); x=xmlDoc.getElementsByTagName('book'); document.write(x[0].getAttribute('category')); document.write("<br />"); x[0].removeAttribute('category'); document.write(x[0].getAttribute('category')); var attnode = x[1].getAttributeNode("category"); var y = x[1].removeAttributeNode(attnode); document.write("<xmp>" + xmlDoc.xml + "</xmp>"); function get_lastchild(n) { x = n.lastChild; while(x.noteType!=1){ x = x.previousSibling; } return x; } function get_firstChild(n){ x = n.firstChild; whild(x.nodeType!=1){ x=x.nextSibling; } return x; } xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0]; deleted_node=x.removeChild(get_lastchild(x)); document.write("Node removed: " + deleted_node.nodeName);
Attr对象
Attr 对象表示 Element 对象的属性。
name—返回属性的名称。
nodeName—返回节点的名称,依据其类型
nodeType—返回节点的类型。
nodeValue—设置或返回节点的值,依据其类型
ownerDocument—返回属性所属的根元素(document对象)。
specified—如果属性值被设置在文档中,则返回 true,如果其默认值被设置在 DTD/Schema 中,则返回 false。
value—设置或返回属性的值。
text—返回属性的文本。IE-only。
xml—返回属性的 XML。IE-only。
Text对象的属性
data—设置或返回元素或属性的文本。
length—返回元素或属性的文本长度。
Text对象的方法
appendData(string)—向节点追加数据。
deleteData(start,length)—从节点删除数据。
insertData(start,string)— 向节点中插入数据。
replaceData(start,length,string)—替换节点中的数据。
replaceData(offset)— 把一个 Text 节点分割成两个。
substringData(start,length)— 从节点提取数据。
关于JavaScript操作XML/HTML比较常用的对象属性集锦的全部叙述就到此结束了,更多内容请登陆脚本之家官网了解更多,谢谢。