XMLファイルをシリアライズ/デシリアライズした経験はありますが、これまでの文を解析する必要はありませんでした。文字列内の単一のXMLステートメントを解析する
私はこれを保持している文字列を持っている:
<Vol Model_Type="Flat">102.14</Vol>
を、私はちょうど102.14を抽出したいです。
XPathを使用すべきですか、それとももっと簡単なオプションがありますか?
XMLファイルをシリアライズ/デシリアライズした経験はありますが、これまでの文を解析する必要はありませんでした。文字列内の単一のXMLステートメントを解析する
私はこれを保持している文字列を持っている:
<Vol Model_Type="Flat">102.14</Vol>
を、私はちょうど102.14を抽出したいです。
XPathを使用すべきですか、それとももっと簡単なオプションがありますか?
.NET 3.5以降を使用している場合は、LINQ to XMLを使用してください。たとえば:
string x = "<Vol Model_Type=\"Flat\">102.14</Vol>";
XElement element = XElement.Parse(x);
decimal value = (decimal) element;
XMLの処理はそれよりもはるかに簡単に取得していません:)もちろん
、それはあなたが要素名や属性を気にしないと仮定しています。そうするなら、LINQ to XMLはまだあなたのために簡単になります。
string x = "<Vol Model_Type=\"Flat\">102.14</Vol>";
XElement element = XElement.Parse(x);
decimal value=element.Value.Tostring();
私が探していたもののようです。私は.NET 4.0を使用しています。ただし、XElementはParseプロパティを持たないようです。 System.Linq名前空間を追加しました。とにかく、正しい方向に私を指してくれてありがとう。 – xbonez
@xbonez:System.Xml.Linq名前空間が必要であり、XElementにはParseメソッドがあることが最も確かです* http://msdn.microsoft.com/en-us/library/system.xml.linq.xelement。 parse.aspx –
奇妙な。 System.XmlとSystem.Xml.Linqへの参照を追加し、2つの名前空間を追加し、System.Xml.XmlElementに 'Parse'の定義が含まれていないというエラーが表示される – xbonez