2013-11-26 1 views
0

XML 파일에서 데이터를 가져올 수있는 해결책을 찾기위한 방향을 제시 할 수 있습니까? 나는 normally XmlDocument VB에서 응용 프로그램에서 사용하고, 그것은 완벽하게 모든 시간을 일했습니다.Windows 스토어 앱 XML 파일의 각 항목

지금 Windows 스토어 응용 프로그램은 xmlDocument를 더 이상 지원하지 않습니다. DOM은 가져 왔지만 XmlNode는 사용할 수 없습니다. 어쩌면 그저 나이지만 XDocument는 나에게 매우 단순하고 XML 파일에서 데이터를 찾는 데 매우 논리적이지 않을 것 같다.

xmlDevices = xmlDoc.GetElementsByTagName("Device") 
For Each xmlDevice As xmlElement In xmlDevices 
    Dim strDeviceName As String = xmlDevice.Item("DeviceName").InnerText 

    xmlModbuses = xmlDoc.GetElementsByTagName("Modbus") 
    For Each xmlModbus As xmlElement In xmlModbuses 
    Dim strModbusID As String = xmlModbus.Attributes("id").InnerText 
    Next 
Next 

내가 좋아하는 외모의 데이터를 추구하고자하는 XML 파일 : 나는이 같은 일부 사용하기 전에

<?xml version="1.0" encoding="utf-8" ?> 
<Devices> 
<Device id="01"> 
    <DeviceName>VP18</DeviceName> 
    <Modbusees> 
    <Modbus id="01">1000</Modbus> 
    <Modbus id="02">2000</Modbus> 
    ... 
    </Modbuses> 
    <Alarms> 
    <Alarm id="01"> 
    <AlarmText>Test</AlarmText> 
    <AlarmType>Critical</AlarmType> 
    </Alarm> 
    <Alarm id="02"> 
    <AlarmText>Test</AlarmText> 
    <AlarmType>Critical</AlarmType> 
    </Alarm> 
    </Alarms> 
<Device id="02"> 
    <DeviceName>VP19</DeviceName> 
    <Modbusees> 
    <Modbus id="01">1010</Modbus> 
    <Modbus id="02">2020</Modbus> 
    ... 
    </Modbuses> 
    <Alarms> 
    <Alarm id="01"> 
    <AlarmText>Test</AlarmText> 
    <AlarmType>Critical</AlarmType> 
    </Alarm> 
    <Alarm id="02"> 
    <AlarmText>Test</AlarmText> 
    <AlarmType>Critical</AlarmType> 
    </Alarm> 
    </Alarms> 
</Device> 
</Devices> 

안부를 토마스 닛센

답변

0

를 나는 작업 있어요 다음과 함께.

 Dim xDoc As XDocument = XDocument.Load(xmlStream.AsStreamForRead()) 

     Dim xmlDevices = xDoc.Root.Elements("Device") 
     For Each xmlDevice In xmlDevices 
      If xmlDevice.Attribute("id").Value = RoamingSettings.Containers("Device").Values("DeviceID") Then 

       Dim xmlAlarms = xmlDevice.Descendants("Alarm") 
       For Each xmlAlarm In xmlAlarms 
        If xmlAlarm.Attribute("id").Value = strAlarmID Then 
         strAlarmDisp = xmlAlarm.Element("AlarmDisp").Value 
         strAlarmType = xmlAlarm.Element("AlarmType").Value 
         strAlarmDesc = xmlAlarm.Element("AlarmDesc").Value 
         strAlarmHelp = xmlAlarm.Element("AlarmHelp").Value 
        End If 
       Next 
      End If 
     Next