selectsinglenode

clevel

Новичок
selectsinglenode

если нет такого тега, то строка №2 выдает ошибку:
var obj = this.dso.documentElement.selectSingleNode("New");
var Num=obj.childNodes.length,str=Array();
причем пишет, что объект не поддерживает это свойство или метод. Пробовал заменить на select Nodes. все так же.
В чем может быть рещение проблемы? Везде ставить этот тег просьба не предлагать...
 

Андрей М.

Guest
Код:
with(...documentElement)
{
    if(getElementsByTagName("New").length>0) selectSingleNode("New");
}
 

clevel

Новичок
Извиняюсь, немного не так сформулировал...
у меня идут теги
<target name="br">
<target name="align">
я делаю выборку oXML.selectsinglenode("//target[@name='center']")
этого тега(<target name="center">) нет, поэтому возникает ошибка...
как побороть эту оказию.
 

Андрей М.

Guest
А что ты хочешь сделать вообще? Может лучше немного по другому подойти к задаче?
 

clevel

Новичок
да у меня список тегов, в котором есть их название, описание, и другие опции...
например, надо мне из xml найти описание, параметры, свойства тега table, вот и нахожу...
 

clevel

Новичок
примеры:
<target name="SUP" title="Поднять текст выше"/>
<attrib s="2" title ="Видео" name = "dynsrc" enum = "%path%" descr = "Путь до видео-клипа либо VRML world" />
 

Андрей М.

Guest
Похоже, только в цикле:
Код:
var arrayMyNodes=new Array();
for(i in document.getElementsByTagName('target'))
{
    with(document)
    {
        if(getElementsByTagName('target')[i].getAttribute('center'))
        {
             arrayMyNodes[arrayMyNodes.length]=getElementsByTagName('target')[i];
        }
    }
}
что-то типа этого. А лучше просто сделать XSLT-преобразование в таблицу, будет быстрее, имхо.
 

Андрей М.

Guest
Ну вроде:
Код:
<xml id="xsl">
  <xsl:stylesheet>
     <xsl:template match="//target[@name='center']">
           <xxx><xsl:value-of select="." /><xxx>
     </xsl:template>
  </xsl:stylesheet>
</xml>
var oXSL= new ActiveXObject("Msxml.DOMDocument");
oXSL.loadXML(document.getElementById("xsl").innerHTML);
var array_nodes=obj.transformNode(oXSL).getElementsByTagName("xxx");
честно говоря не проверял, но вроде должно работать:)
 

clevel

Новичок
стоп! мне не таблицу надо, я передаю в xml кучу данных, скрипт у меня выдирает часть из этих данных по определнному условию, а потом вставляет в html, но там условия выборки достаточно сложные
 

Андрей М.

Guest
в общем-то мой последний пример должен возвращать массив
 
Сверху