2016-04-11 25 views
1

bulmak ben aşağıdaki XML dosyası var - İşteXML Geçişi: Belirli çocuk düğüm

<?xml version="1.0" encoding="UTF-8"?> 
    <prj:Flow xmlns:prj="url1" xmlns:com="url2" xmlns:ns2="url3" xmlns:con="url4" xmlns:ns0="url5" xmlns:ns1="url6" xmlns:ns3="url7"> 
    <prj:layout comp="abcd"> 
     <prj:prop> 
     <prj:property name="Hardik" value="5000"/> 
     <prj:bond att="1"> New Value/hello/mode </prj:bond> 
     </prj:prop> 
     <prj:bond att="1"> New Value </prj:bond> 
    </prj:layout> 
    <prj:layout comp="efgh"> 
     <prj:prop> 
     <prj:property name="Vipul" value="6000"/> 
     <prj:bond att="2"> New Value/bye/code </prj:bond> 
     </prj:prop> 
     <prj:bond att="2"> New Value </prj:bond> 
    </prj:layout> 
    </prj:Flow> 

her <layout> etiketi iki çocuğu var - <prop> and <bond>. Benim şartım, <prop> etiketinin altında bulunan değil, yalnızca <bond> verisini (özellik ve metin) düzen etiketinden almaktır. Bunu yalnızca jquery'yi kullanarak nasıl başarabilirim? Herhangi bir yardım takdir edilir. Teşekkürler !

var result = yourXml.find("prj\\:layout").children("prj\\:bond"); 

Hızlı demo:

cevap

0

Sen <prj:layout> doğrudan çocuğu tüm <prj:bond> unsurları dönmek için aşağıdaki ifadeyi kullanabilirsiniz

var raw = `<?xml version='1.0' encoding='utf-16'?> 
 
<prj:Flow xmlns:prj='url1' xmlns:com='url2' xmlns:ns2='url3' xmlns:con='url4' xmlns:ns0='url5' xmlns:ns1='url6' xmlns:ns3='url7'> 
 
    <prj:layout comp='abcd'> 
 
     <prj:prop> 
 
      <prj:property name='Hardik' value='5000' /> 
 
      <prj:bond att='1'> New Value/hello/mode </prj:bond> 
 
     </prj:prop> 
 
     <prj:bond att='1'> New Value </prj:bond> 
 
    </prj:layout> 
 
    <prj:layout comp='efgh'> 
 
     <prj:prop> 
 
      <prj:property name='Vipul' value='6000' /> 
 
      <prj:bond att='2'> New Value/bye/code </prj:bond> 
 
     </prj:prop> 
 
     <prj:bond att='2'> New Value </prj:bond> 
 
    </prj:layout> 
 
</prj:Flow>`; 
 
var xml = $($.parseXML(raw)); 
 
var result = xml.find("prj\\:layout").children("prj\\:bond").each(function(){ 
 
\t $("#result").append($(this).text()).append("<br/>"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<p id="result"></p>

+0

Bu getirmesi görünmüyor şey. Ne bir hata atıyor ne de herhangi bir veri gösteriyor. – rnaikzz

+0

Demoyla ilgili endişelerim doğrultusunda, kod beklenen değerleri basar ... – har07

+0

Nasıl çalıştığınızı göstermek için [bu örnek] (https://jsfiddle.net/s44hno9n/) gibi bir keman oluşturmanızı öneririm önerilen seçiciyi uygulamak ve beklenen sonuca ulaşmada başarısız olduğunu gösterecek – har07

İlgili konular