我有基本的VB編程知識。我無法從XML文件獲取信息。我知道我可以簡單地將XML作爲普通文件打開,然後依次讀取,但我希望儘可能高效地運行我的代碼。如何讀取XML文件中的值?
我在讀一堆XML文件。 <full path>+<file name>
將被傳遞給xml-reading子或函數。
這裏的XML是什麼樣子:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<mproxyMessage xmlns:ns2="com.cmp.mproxy.message" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:mproxyMessage">
<version>2</version>
<receiver>
<uid>az.local</uid>
</receiver>
<sender>
<uid>test.sender</uid>
</sender>
<attachments>
<attachment>
<uri>C:\Inbox\2015-09-04\2cc403ace4984782bf5ae949e22a4d5b\VJ14699062340.ima</uri>
</attachment>
</attachments>
<option>
<map>
<element>
<key>OPTION_MEXI_OPTION</key>
<value>DSUBJECT(DMA-IMA)DGIVENNAME(9803375)DSENDERID(144796) medidoc_formatrecipient : Demo User, 14699062,Department,AZO(recipient DN : uid=demo.user,null)</value>
</element>
<element>
<key>DSENDERID</key>
<value>144796</value>
</element>
<element>
<key>DGIVENNAME</key>
<value>9803375</value>
</element>
<element>
<key>OPTION_MESSAGE_UID</key>
<value>2cc403ace4984782bf5ae949e22a4d5b</value>
</element>
<element>
<key>DSUBJECT</key>
<value>DMA-IMA</value>
</element>
<element>
<key>recipientDN</key>
<value>uid=demo.user</value>
</element>
<element>
<key>recipientLabel</key>
<value>Demo User, 14699062,Department,AZO</value>
</element>
</map>
</option>
</mproxyMessage>
我需要什麼樣的回報(作進一步處理)是<uri>
標籤(文件路徑),在DSUBJECT
值之間的值,recipientLabel
(只數量,但是這很容易分裂)
的URI似乎使用是相當簡單:
Dim xml = XDocument.Load(file.FullName)
MsgBox("URI: " + xml.<mproxyMessage>.<attachments>.<attachment>.<uri>.Value)
但我被困與鍵/值部分
我一直在尋找一些代碼樣本要做到這一點,但沒有產生的結果,我希望......
是他們誰可以給我一個代碼示例?
也是一樣! 「開箱即用」!只需要找出如何使這個錯誤證明(一些XML沒有dsubject標籤),但這是一個完美的起點) – user3926942
你可以使用'SingleOrDefault()'來處理不匹配的情況。如果找不到匹配,它將返回「Nothing」。 – Mark