-1
以下は、data.xmlファイルを解析します(下記のサンプルを参照)。私は体の価値を引き出すことができますが、私は受取人のフィールドにいくつかの問題があります。私はこの同じコードを使用する前に他の子要素をループしましたが、ここで何が間違っているのか分かりません。C#で子を抽出する<string> XML要素の値
using System;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Xml.Linq;
namespace MessagesRestore
{
public class ParseXml
{
public static void ExtractMessages()
{
string recepients = "";
string body = "";
foreach (XElement level1Element in XElement.Load(@"Data.xml").Elements("Message"))
{
body = level1Element.Element("Body").Value; //Works
foreach (XElement level2Element in level1Element.Elements("Recepients"))
{
recepients = level2Element.Element("string").Value; //Fails
}
}
}
}
}
data.xmlのファイル:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfMessage>
<Message>
<Recepients>
<string>5555555555</string>
</Recepients>
<Body>blah blah blah</Body>
<IsIncoming>false</IsIncoming>
<IsRead>true</IsRead>
<Attachments />
<LocalTimestamp>130979714416748889</LocalTimestamp>
<Sender />
</Message>
<Message>
<Recepients>
<string>5555555555</string>
</Recepients>
<Body>yaba daba do</Body>
<IsIncoming>false</IsIncoming>
<IsRead>true</IsRead>
<Attachments />
<LocalTimestamp>130979673444601802</LocalTimestamp>
<Sender />
</Message>
<Message>
</ArrayOfMessage>
はあなたのXMLを修正する場合は、このコードは私の作品、 グレッグ
私は私が私の「ルーキー」間違いを見つけたと思います。私のサンプルXMLは、メインファイルのほんの一部に過ぎませんでした。私は間違ってコピーした余分な開始メッセージタグです。いくつかの "受信者"要素はnullでしたが、これは私がテストしていなかったものです。いくつかの検証を追加した後、私のエラーは消え去った。ここで誤った警報をおかけして申し訳ありません。 :|あなたの助けをありがとう。 – CaptainChaos