พึ่งเคยใช้งานครั้งแรกโปรดอ่านที่นี่! howtouse!
x
  • Register
หางานด้าน IT อยู่เหรอ?

การอ่านไฟล์ XML มีวิธีไหนบ้างครับ

+1 vote

คือผมมีไฟล์ XML ที่มีลักษณะประมาณนี้ครับ

 

<Workbook>

<documentProp> ... </documentProp>

<styles>...</styles>

<Worksheet>

<table>

<column></column>

..

...

<column></column>

<row></row>

...

...

<row>

<cell></cell>

<cell></cell>

...

..

</row>

</table>

</Worksheet>

 

</Workbook>

ผมต้องการเข้าถึง แท๊ก <row> ตำแหน่งที่ 31 ครับ ผมใช้วิธีตามเวปนี้น่ะครับ

http://vbnetsample.blogspot.co.uk/2007/07/read-xml-content-by-xmldocument.html

 

ผลปรากฎว่า มันข้าม ลูปไปเลย ผมเลยอยากทราบว่าทำยังไงให้มันวิ่งเข้าลูปน่ะครับ

 

อันนี้ path ของผมนะครับ ลองโหลด Doc ดูแล้วโหลดผ่านนะครับ

nodeList = xmlDoc.SelectNodes("/Workbook/Worksheet/Table/Row[position()>32]")

 

เพิ่มเติมโค๊ดนิดนึงครับ

 

Dim xmlDoc As XmlDocument = New XmlDocument()
Dim nodeList As XmlNodeList
Dim node As XmlNode
xmlDoc.Load(fileLocation)

nodeList = xmlDoc.SelectNodes("/Workbook/Worksheet/Table/Row[position()>32]")

For Each node In nodeList

' code...

Next

ถามเมื่อ Apr 17, 2012 in VB.Net โดย Prinze Zeaist (118 คะแนน)
edited Apr 17, 2012 โดย Prinze Zeaist
   

3 Answers

+1 vote
 
Best answer

ใช้ GetElementsByTagName (http://msdn.microsoft.com/en-us/library/dc0c9ekk.aspx) get  tag row ออกมาแล้วดูว่าอยากได้ row ไหนเอา่ะครับ (อย่างงี้มันจะ find ยากหน่อยถ้ามี Id ช่วยจะช่วยได้เยอะ)

 

ตอบเมื่อ Apr 17, 2012 โดย Thanabodee Charoenpi (666 คะแนน)
selected Apr 18, 2012 โดย Prinze Zeaist
ได้แล้วครับ ขอบคุณครับผม
+1 vote

เพิ่มเติมโค๊ดนิดนึงครับ

 

Dim xmlDoc As XmlDocument = New XmlDocument()
Dim nodeList As XmlNodeList
Dim node As XmlNode
xmlDoc.Load(fileLocation)

nodeList = xmlDoc.SelectNodes("/Workbook/Worksheet/Table/Row[position()>31]")

For Each node In nodeList

' code...

Next

ตอบเมื่อ Apr 17, 2012 โดย Prinze Zeaist (118 คะแนน)
reshown Apr 27, 2012 โดย admin
+2 votes

 

        'สร้าง obj Xml
        Dim doc As New XmlDocument()
        Dim fileLocation As String
              doc.Load(fileLocation)

        Dim elemList As XmlNodeList = doc.GetElementsByTagName("row")
        Dim result as string = (elemList(32).InnerXml)

อันนี้น่าจะใช้ได้มั้งครับลองรันดูนะครับ
 
ตอบเมื่อ Apr 18, 2012 โดย Nickyshox Bst (325 คะแนน)
ทำให้เห็นภาพได้ชัดเจนมากขึ้น ขอบคุณครับผม

Related questions

0 votes
1 คำตอบ
156 views ถามเมื่อ Jul 25, 2016 in VB.Net โดย thongthongalone (102 คะแนน)
0 votes
0 คำตอบ
541 views ถามเมื่อ Jan 21, 2014 in programing-ทั่วไป โดย LongKubz CyberHacker (102 คะแนน)
...