يسعد الله اوقاتكم
محتاج مساعدة في قراءة ملف xml موجود في موقعي على ان ينزل كل سطر في
textbox.text
محتوى الملف هذا
كود :
<QRZCQDatabase xmlns="http://qrzcq.com" version="1.04">
<Callsign>
<call>A61BK</call>
<name>ali</name>
<qth>DUBAI</qth>
<continent>AS</continent>
<country>United Arab Emirates</country>
<state>DUBAI</state>
<locator>LL75qg</locator>
<latitude>25.266900</latitude>
<longitude>55.410140</longitude>
<itu>39</itu>
<cq>21</cq>
<qslpic>http://qrzcq.com/qslpic/a61bk.jpg</qslpic>
<prefix>A6</prefix>
</Callsign>
</QRZCQDatabase>
يا ليت احصل كود القراءه لاني جربت اكثر من كود بس ما نفع معاي
وشكرا لكم
المعروف ان ملف xml يبدأ بهذا Tag
لهذا لا يتم قراءته
فكيف بدأ ملفك بهذا Tag
(19-05-17, 10:01 PM)alma2 كتب : [ -> ]المعروف ان ملف xml يبدأ بهذا Tag
لهذا لا يتم قراءته
فكيف بدأ ملفك بهذا Tag
اهلا اخي
انا اختصرة الكود
هذا الكود الكامل
كود :
<?xml version="1.0" encoding="utf-8" ?>
<QRZCQDatabase version="1.00" xmlns="http://qrzcq.com">
<Callsign>
<call>DO5SSB</call>
<dxcc>230</dxcc>
<name>Grzegorz Surmann</name>
<qth>Buchholz, near Hamburg</qth>
<address>Amselweg 1 a</address>
<city>Buchholz</city>
<zip>21244</zip>
<license>E</license>
<continent>EU</continent>
<country>Germany</country>
<state>NDS</state>
<locator>JO43WH</locator>
<latitude>53.3199308</latitude>
<longitude>9.8597973</longitude>
<website>http://do5ssb.blogspot.de/</website>
<itu>28</itu>
<cq>14</cq>
<eqsl>1</eqsl>
<lotw>0</lotw>
<bqsl>0</bqsl>
<mqsl>1</mqsl>
<utf8>0</utf8>
<qslpic>http://qrzcq.com/qslpic/do5ssb.jpg</qslpic>
<prefix>DL</prefix>
</Callsign>
<Session>
<Key>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</Key>
<Count>18232</Count>
<SubExp>Sat Mar 1 20:13:59 2014</SubExp>
<GMTime>Wed Feb 26 20:22:21 2014</GMTime>
<Remark>cpu: 0.006s</Remark>
</Session>
</QRZCQDatabase>
انا اللي يهمني اقراء هو
كود :
<call>A61BK</call>
<name>ali</name>
<qth>DUBAI</qth>
<continent>AS</continent>
<country>United Arab Emirates</country>
<state>DUBAI</state>
<locator>LL75qg</locator>
<latitude>25.266900</latitude>
<longitude>55.410140</longitude>
<itu>39</itu>
<cq>21</cq>
<qslpic>http://qrzcq.com/qslpic/a61bk.jpg</qslpic>
<prefix>A6</prefix>
علما اخي الكود اللي جربته يعمل بس يقراء اول اربع اسطر والباقي ما يقراهم ما اعرف ليش
كود :
Dim url As String = String.Format("https://www.hamqth.com/xml.php?id={0}&callsign={1} &prg=BKLOG", Label17.Text, calls.Text)
Dim document As New XmlTextReader(url)
'loop through the xml file
While (document.Read())
Dim type = document.NodeType
'if node type was element
If (type = XmlNodeType.Element) Then
'if the loop found a <FirstName> tag
If (document.Name = "adr_name") Then
Lfullname.Text = document.ReadInnerXml
End If
If (document.Name = "us_state") Then
state.Text = document.ReadInnerXml
End If
'if the loop found a <FirstName> tag
If (document.Name = "qth") Then
qth.Text = document.ReadInnerXml
End If
'if the loop found a <FirstName> tag
If (document.Name = "grid") Then
WORKinfo.GRIDSQUARE.Text = document.ReadInnerXml
End If
'if the loop found a <FirstName> tag
If (document.Name = "qsl_via") Then
WORKinfo.Lqslmgr.Text = document.ReadInnerXml
End If
'if the loop found a <FirstName> tag
If (document.Name = "latitude") Then
WORKinfo.LAT.Text = document.ReadInnerXml
End If
'if the loop found a <FirstName> tag
If (document.Name = "longitude") Then
WORKinfo.LON.Text = document.ReadInnerXml
End If
End If
End While
End Sub
بحثت عن كود اخر بس ما حصلت شي يفيدني بارك الله فيك
تستطيع استغلال DataSet وعرضها في DataGridView مع تحديد اسم الجدول وهو هنا Callsign حسب طلبك
كود :
Dim ds As New DataSet
ds.ReadXml(url)
Me.DataGridView1.DataSource = ds.Tables("Callsign")
(19-05-17, 11:29 PM)alma2 كتب : [ -> ]ضع الكود كامل الذي أنشأت به ملف xml
الملف منشة من قبل موقع اخر
ما عندي فكرة عنه
بس انا الكود اللي عندي شغال بس ما يسحب جميع الاسطر المطلوبه
كود :
Dim url As String = String.Format("https://www.hamqth.com/xml.php?id={0}&callsign={1} &prg=BKLOG", Label17.Text, calls.Text)
Dim document As New XmlTextReader(url)
'loop through the xml file
While (document.Read())
Dim type = document.NodeType
'if node type was element
If (type = XmlNodeType.Element) Then
'if the loop found a <FirstName> tag
If (document.Name = "adr_name") Then
Lfullname.Text = document.ReadInnerXml
End If
If (document.Name = "us_state") Then
state.Text = document.ReadInnerXml
End If
'if the loop found a <FirstName> tag
If (document.Name = "qth") Then
qth.Text = document.ReadInnerXml
End If
'if the loop found a <FirstName> tag
If (document.Name = "grid") Then
WORKinfo.GRIDSQUARE.Text = document.ReadInnerXml
End If
'if the loop found a <FirstName> tag
If (document.Name = "qsl_via") Then
WORKinfo.Lqslmgr.Text = document.ReadInnerXml
End If
'if the loop found a <FirstName> tag
If (document.Name = "latitude") Then
WORKinfo.LAT.Text = document.ReadInnerXml
End If
'if the loop found a <FirstName> tag
If (document.Name = "longitude") Then
WORKinfo.LON.Text = document.ReadInnerXml
End If
End If
End While
End Sub
يسحب اول ثلاث اسطر
كود :
'if the loop found a <FirstName> tag
If (document.Name = "adr_name") Then
Lfullname.Text = document.ReadInnerXml
End If
If (document.Name = "us_state") Then
state.Text = document.ReadInnerXml
End If
'if the loop found a <FirstName> tag
If (document.Name = "qth") Then
qth.Text = document.ReadInnerXml
End If
وهذا الملف
[
attachment=14286]
(19-05-17, 11:39 PM)alma2 كتب : [ -> ]تستطيع استغلال DataSet وعرضها في DataGridView مع تحديد اسم الجدول وهو هنا Callsign حسب طلبك
كود :
Dim ds As New DataSet
ds.ReadXml(url)
Me.DataGridView1.DataSource = ds.Tables("Callsign")
تسلم استاذي بس
انا محتاج اعرض النتائج في
textbox
(20-05-17, 12:08 AM)alma2 كتب : [ -> ]
كود :
Dim url As String = String.Format("https://www.hamqth.com/xml.php?id={0}&callsign={1} &prg=BKLOG", Label17.Text, calls.Text)
Dim ds As New DataSet
ds.ReadXml(url)
If ds.Tables("Callsign").Rows.Count > 0 Then
Dim r As DataRow = ds.Tables("Callsign")(0)
Lfullname.Text = r("adr_name")
state.Text = r("us_state")
qth.Text = r("qth")
WORKinfo.GRIDSQUARE.Text = r("grid")
WORKinfo.Lqslmgr.Text = r("qsl_via")
WORKinfo.LAT.Text = r("latitude")
WORKinfo.LAT.Text = r("longitude")
End If
راجع الاسماء مثل adr_name وus_state الى آخرها التي في الكود فهي ليست مطابقة لملف xml
فالجدول Callsign
لديه الأعمدة التالية
call
dxcc
name
qth
address
city
zip
license
continent
country
state
locator
latitude
longitude
website
itu
cq
eqsl
lotw
bqsl
mqsl
utf8
qslpic
prefix
جميل جدا تم القراءاه وكل شي تمام
بارك الله فيك
شكرا على مساعدتك وفي ميزان اعمالك
شكرا من جديد

كود :
Dim url As String = String.Format("https://www.hamqth.com/xml.php?id={0}&callsign={1} &prg=BKLOG", Label17.Text, calls.Text)
Dim ds As New DataSet
ds.ReadXml(url)
If ds.Tables("Callsign") Is Nothing AndAlso ds.Tables("Callsign").Rows.Count > 0 Then
Dim r As DataRow = ds.Tables("Callsign")(0)
Lfullname.Text = r("adr_name")
state.Text = r("us_state")
qth.Text = r("qth")
WORKinfo.GRIDSQUARE.Text = r("grid")
WORKinfo.Lqslmgr.Text = r("qsl_via")
WORKinfo.LAT.Text = r("latitude")
WORKinfo.LON.Text = r("longitude")
End If
راجع الاسماء adr_name وus_state وgrid وqsl_via فهي ليست موجودة في ملف xml
فالجدول Callsign
لديه الأعمدة التالية
call
dxcc
name
qth
address
city
zip
license
continent
country
state
locator
latitude
longitude
website
itu
cq
eqsl
lotw
bqsl
mqsl
utf8
qslpic
prefix