我有一个名为patient.xml的xml文档,如下所示
<?xml version="1.0" encoding="utf-8"?>
<Patient_Data>
<Patient ID="1">
<Patient_Name>John</Patient_Name>
<BPL_card_no.>123456789</BPL_card_no.>
<Room_no.>12</Room_no.>
<Bed_no.>2</Bed_no.>
<Admit_date>1/2/14</Admit_date>
<Discharge_date>16/3/2015</Discharge_date>
</Patient>
<Patient ID="2">
<Patient_Name>Rambo</Patient_Name>
<BPL_card_no.>123456789</BPL_card_no.>
<Room_no.>5</Room_no.>
<Bed_no.>2</Bed_no.>
<Admit_date>1/2/14</Admit_date>
<Discharge_date>12/2/2015</Discharge_date>
</Patient>
<Patient ID="3">
<Patient_Name>Arnold</Patient_Name>
<BPL_card_no.>123456789</BPL_card_no.>
<Room_no.>1</Room_no.>
<Bed_no.>2</Bed_no.>
<Admit_date>1/2/14</Admit_date>
<Discharge_date>21/8/2015</Discharge_date>
</Patient>
</Patient_Data>
现在我想搜索并获取与患者相关的所有数据(即患者姓名,bpl卡号,房间号,床号,入院日期,出院日期),如果我只知道患者姓名(例如约翰)或bpl卡号。我无法弄清楚该怎么做。我有一个文本框供用户按名称搜索。 我知道我可以使用xdocument或xmldocument方法,但无法弄清楚如何。请帮我。如果我可以在列表框中获取患者的所有姓名,如果搜索到名称,那将会很棒。 Reguards
答案 0 :(得分:0)
您需要在我使用过的#34; Rambo&#34;中替换您的变量,但这是一种方法。 patientData
变量的属性为Name
,Bpl
,Room
,Bed
,AdmitDt
和DischargeDt
:
修改 - 忘记添加doc
dim doc = <?xml version="1.0" encoding="utf-8"?>
<Patient_Data>
<Patient ID="1">
<Patient_Name>John</Patient_Name>
<BPL_card_no.>123456789</BPL_card_no.>
<Room_no.>12</Room_no.>
<Bed_no.>2</Bed_no.>
<Admit_date>1/2/14</Admit_date>
<Discharge_date>16/3/2015</Discharge_date>
</Patient>
<Patient ID="2">
<Patient_Name>Rambo</Patient_Name>
<BPL_card_no.>123456789</BPL_card_no.>
<Room_no.>5</Room_no.>
<Bed_no.>2</Bed_no.>
<Admit_date>1/2/14</Admit_date>
<Discharge_date>12/2/2015</Discharge_date>
</Patient>
<Patient ID="3">
<Patient_Name>Arnold</Patient_Name>
<BPL_card_no.>123456789</BPL_card_no.>
<Room_no.>1</Room_no.>
<Bed_no.>2</Bed_no.>
<Admit_date>1/2/14</Admit_date>
<Discharge_date>21/8/2015</Discharge_date>
</Patient>
Dim patientData = from el in doc.Descendants().Elements("Patient")
where el.Element("Patient_Name") = "Rambo"
select new with {.Name = el.Element("Patient_Name").Value, _
.Bpl = el.Element("BPL_card_no.").Value, _
.Room = el.Element("Room_no.").Value, _
.Bed = el.Element("Bed_no.").Value, _
.AdmitDt = el.Element("Admit_date").Value, _
.DischargeDt = el.Element("Discharge_date").Value }