jsアクセスxmlの各種オブジェクトの属性と方法


ノードオブジェクトの属性
childNodes—ノードからサブノードのノードリストに戻る
first_Childは、ノードの最初のサブノードに戻る.
lastChild−ノードの最後のサブノードに戻る.
nextSibling—ノードに戻ってから続く同レベルのノード.
ノードの名前を返します.そのタイプによって.
ノードのタイプに戻ります.
nodeValue—ノードの値を設定または戻し、その種類に応じて.
owner Dcument—ノードのルート要素(documentオブジェクト)を返します.
parent Node—ノードの親ノードに戻ります.
previous Sibling−ノードに戻る前に続く同級ノード.
text—ノードとその子孫に戻るテキスト(IE特有).
xmlーノードとその子孫に戻るXML(IE特有).
ノードオブジェクトの方法
apendChild()−ノードのサブノードリストの末尾に新しいサブノードを追加する.
clone Node()—ノードをコピーします.
hasChildNodes()—現在ノードがサブノードを持っているかどうかを判断する.
insertBefore()—指定されたサブノードの前に新しいサブノードを挿入します.
normalize()—隣接するTextノードを統合し、空いているTextノードを削除する.
RemoveChild()−現在のノードの指定されたサブノードを削除(およびリターン)する.
replacceChild()—新しいノードでサブノードを置換する.
IE 6独自
selectNodes()—選択ノードを一つのXPS表現で問い合わせる.
selectSingleNode()—XPThクエリと一致するノードを検索します.
tranformNode()—XSLTを使ってノードを一つの文字列に変換します.
tranformNodeToObject()—XSLTを使って一つのノードを一つのドキュメントに変換します.
ノードリストオブジェクト
length–ノードリストのノード数を返します.
item()−ノードリストで指定されたインデックス番号のノードに戻る.
たとえば:
xmlDoc = loadXMLDoc(“books.xml”);

var x = xmlDoc.getElementsByTagName(“title”);

document.write(“title element:” + x.length);
出力:title element:4
var y = xmlDoc.documentElement.childNodes;

document.write(y.item(0).nodeName);
出力:book
NamedNodeMapオブジェクト
length−リストのノード数を返します.
get NamedItem()—指定されたノードに戻る.(名前で)
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”);
出力:COOKING
x.item(0).attributes.removeNamedItem(“category”);
最初のbook要素のcategory属性を削除します.
DcumentオブジェクトはXMLドキュメント全体を表します.
Dcumentオブジェクトの属性.
async—XMLファイルのダウンロードは同期されるべきかどうかを規定しています.
childNodes—ドキュメントのサブノードのノードリストを返します.
doctype-ドキュメントに関する文書タイプ宣言を返します.
ドキュメントのサブノードを返します.
first_Childは文書の最初のサブノードを返します.
implementation−この文書を処理するDOMImplementationオブジェクトを返します.(IEなし)
lastChild—ドキュメントの最後のサブノードを返します.
ノードタイプに戻ります.
nodeName—ノードの種類によってその名前を返します.
ノードのタイプによって、その値を返します.
text—ノードとその子孫に戻るテキスト(IE特有).
xmlーノードとその子孫に戻るXML(IE特有).
Dcumentオブジェクトの方法
createAttribute-指定された名前を持つ属性ノードを作成し、新しい属性オブジェクトを返します.
createCDATASection-CDATAセグメントノードを作成します.
createComment(data)—コメントノードを作成します.
クリエートDocktFragment-空のDcument Fragmentオブジェクトを作成し、このオブジェクトに戻ります.
createElement(nodemne)—元素ノードを作成します.
createEntityReference(name)—EnttityReferenceオブジェクトを作成し、このオブジェクトに戻ります.(IE独自)
createText Node-テキストノードを作成します.
getElementById-指定された一意IDを持つ要素を検索します.
getElements ByTagName-指定された名前を持つすべての要素ノードを返します.
たとえば:
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オブジェクトの属性
atributes-元素の属性を返すNamedNodeMap
childNodes—要素のサブノードのNodeListを返します.
first_Childは要素の最初のサブノードを返す.
lastChildは要素の最後のサブノードを返す.
nextSibling—要素を返した後に続くノード.
ノード名を返します.
nodeType-は要素のタイプを返します.
owner Dcument—元素が属するルート要素(documentオブジェクト)を返します.
parent Node-は要素の親ノードを返します.
previous Siblingは要素の直前に続くノードを返す.
tagName-は元素の名前を返します.
text-は、ノードとその子孫のテキストを返します.(IE-only)
xml—ノードとその子孫に戻るXML.(IE-only)
Element対象の方法
apendChild(node)−ノードのサブノードリストの末尾に新しいサブノードを追加する.
クローンノード.
get Attribute(atmune)—属性の値を返します.
get AttributeNode-Attributeオブジェクトで属性ノードに戻ります.
getElements ByTagName-指定された署名を持つ子孫要素を見つける.
has Attribute-要素が指定された属性を持つかどうかを返します.
has Attributes()—元素が属性を持っているかどうかを返します.
hasChildNodes()—要素がサブノードを持つかどうかを返す.
insertBefore(new node,existingunode)—既存のサブノードの前に新しいサブノードを挿入します.
removeAttribute(at name)—指定された属性を削除します.
removeAttributeNode—指定された属性ノードを削除します.
removeChild(node)—サブノードを削除します.
replacceChild(new node,old node)—サブノードを置き換える.
setAttribute(name,value)—新しい属性を追加したり、属性の値を変更したりします.
set Attribute-新しい属性を追加します.

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-ノードの名前を返し、その種類によって
ノードのタイプに戻ります.
nodeValue-ノードの値を設定または戻すには、その種類に応じて
owner Dcument—属性が属するルート要素(documentオブジェクト)を返します.
プロパティ値がドキュメントに設定されている場合、trueに戻り、そのデフォルト値がDMD/Schemaに設定されている場合、falseに戻ります.
value—属性の値を設定または返します.
text-属性のテキストを返します.IE-only
xml—属性のXMLを返します.IE-only
Textオブジェクトの属性
dataー設定または要素または属性のテキストを返します.
length—要素または属性のテキスト長を返します.
Textオブジェクトの方法
アプリダイ─ノードにデータを追加します.
deleteData(start,length)─ノードからデータを削除します.
insertData(start,string)—ノードにデータを挿入します.
replacceData(start,length,string)—ノード中のデータを差し替える.
replacceData(offset)は一つのTextノードを二つに分割する.
substrigData—ノードからデータを抽出する.