オブジェクトへの xml 文字列の逆シリアル化で問題が発生しています。エラーは発生していませんが、値が入力されていません (値はnull
単に ではありません""
)。同じ問題を抱えているいくつかの質問を見てきましたが、これらの問題は通常、[XmlRoot]
または[XmlElement]
定義されていない人々で構成されていました。
ここに私のxml文字列の一部があります:
string xmlString = @"<results><dpv_answer value=""Y"" /><zip value=""95118-4007"" /></results>"
非シリアル化する関数は次のとおりです。
StandardAddress address = new StandardAddress();
using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
{
try
{
address = (StandardAddress)new XmlSerializer(typeof(StandardAddress)).Deserialize(reader);
}
catch (InvalidOperationException x)
{
// String passed is not XML, simply return defaultXmlClass
}
}
return address;
オブジェクト宣言の一部を次に示します。
[XmlRoot("results")]
public class StandardAddress
{
[XmlElement(ElementName = "dpv_answer")]
public string dpv_answer { get; set; }
[XmlElement(ElementName = "zip")]
public string zip { get; set; }
}