|
|
|
|
|
для: servannin
(17.04.2005 в 01:07)
| | спасибо за доверие, хотя я в DOM такойже новичок, даже хуже...
будем разбираться,
нас сейчас интересует метод attributes
допустем у нас в XML есть такой тэг <Item name="Test item" value="какой-то текст">
метод attributes принимает в своё значение массив к каждому значению которому присваеваются две переменных name и text, т.е. в нашем случае это будет выглядеть так:
var root=dom.documentElement;
document.write(root.attributes[0].name)//выведет name
document.write(root.attributes[1].name)//выведет value
document.write(root.attributes[0].text)//выведет Test item
document.write(root.attributes[1].text)//выведет какой-то текст
|
надеюсь понятно | |
|
|
|
|
|
|
| Вопрос скорее к Crux, хотя не обязательно ... 8-)
Во-первых огромное вам спасибо за ответ(я пока новичёк в DOM), а во-вторых
почему я не могу получить имя и значение атрибута,например,элемента Item (см.функцию myItem()).
Код почти тот же :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test aspdom</title>
</head>
<body>
<script language="javascript">
<!--
var dom = new ActiveXObject("microsoft.XMLDOM");
dom.async = false;
dom.load ("file.xml");
var root=dom.documentElement;
function parse(root)
{
var i=0;
if(root.nodeType==1)
{
document.writeln(root.nodeName);
document.write('<br>');
if(root.nodeName=='all') myall();
document.write('<br>');
if(root.nodeName=='Item') myItem();
document.write('<br>');
if(root.nodeName=='SimpleType') mySimpleType();
document.write('<br>');
if(root.nodeName=='option') myoption();
document.write('<br>');
}
else if(root.nodeType==3){}
else
{
document.writeln('<br><br>Error');
}
if(root.childNodes!=null)
{
document.writeln('It consist of '+root.childNodes.length+' elements:');
for(i=0;i<root.childNodes.length;i++)
{
parse(root.childNodes.item(i));
}
}
}
function viewDocument()
{
document.writeln('<body bgcolor="white">');
document.writeln('<p><center><hr width=80%>XML sample page <hr width=80%></center><p>');
parse(root);
document.writeln('</body>');
}
function myall()
{
document.write("myall");
}
function myItem()
{
document.write("myItem");
document.write(root.attributes.nodeName);
}
function mySimpleType()
{
document.write("mySimpleType");
}
function myoption()
{
document.write("myoption");
}
viewDocument();
//-->
</script>
</body>
</html>
XML всё тот же:
<?xml version="1.0" encoding="UTF-8"?>
<all>
<Item name="Test item">
<SimpleType name="Name" type="text"/>
<SimpleType name="Type" type="List">
<option>Type 1</option>
<option>Type 2</option>
</SimpleType>
</Item>
</all>
Спасибо | |
|
|
|
|