2011-01-04 15 views
0

wcf webserviceを使用して文字列変数にXMLを取得しています。私は取得している文字列xmlが有効なxmlであるかどうかを確認する必要があります。xml文書の文字列を変換する

さらに、この文字列をxmlドキュメントに変換して処理したいと考えています。 どうすればいいか教えてください。

答えて

2

方法を用いて達成することができる方法の加工された例が含まれている検証することができると思いますXDocument.Parse()

string str = 
@"<?xml version=""1.0""?> 
<!-- comment at the root level --> 
<Root> 
    <Child>Content</Child> 
</Root>"; 
XDocument doc = XDocument.Parse(str); 
Console.WriteLine(doc); 

それとも、解析エラーをキャッチしたい場合は、使用try/catch

try { 
    XElement contacts = XElement.Parse(
     @"<Contacts> 
      <Contact> 
       <Name>Jim Wilson</Name> 
      </Contact> 
      </Contcts>"); 

    Console.WriteLine(contacts); 
} 
catch (System.Xml.XmlException e) 
{ 
    Console.WriteLine(e.Message); 
} 
0
+0

Parseによって例外がスローされないようにするには、文字列が '<'で始まり、 '>'で終わることを確認するために非常に粗いチェックを行うことができます。もっと何かをしようとすると、例外よりも高価になる可能性があります。 – Josh

0

私はあなたがMessageInspector.MSDNとWCF応答XMLは、これは使用についてのWCFのMessageInspectors

+0

ありがとう、私にリンクを渡すことができますか? –

+0

スタックオーバーフローのスレッドが既にこれについて話しています:http://stackoverflow.com/questions/2178656/validating-wcf-web-service-xml-body-using-a-messageinspector – UVM