2011-11-09 11 views
3

まずはXMLをデータソースとして使用したことがないことをお知らせします。XMLファイルをDataSourceに変換するには?

に(編集/削除)私は、データを変更する方法が必要

<?xml version="1.0"?> 
<Answers> 
<AnswerSet> 
    <Answer questionId="MRN">4444</Answer> 
    <Answer questionId="FName">test</Answer> 
    <Answer questionId="LName">patient</Answer> 
    <Answer questionId="AddressPt">blah blah</Answer> 
    <Answer questionId="Governorate">xxxx</Answer> 
    <Answer questionId="InitialCSF">Negative</Answer> 
    <Answer questionId="Diagnosis"></Answer> 
    <Answer questionId="Description"> </Answer> 
</AnswerSet> 
<AnswerSet> 
    <Answer questionId="MRN">1</Answer> 
    <Answer questionId="FName">1</Answer> 
    <Answer questionId="LName">1</Answer> 
    <Answer questionId="AddressPt">1</Answer> 
    <Answer questionId="InitialCSF">Positive</Answer> 
    <Answer questionId="Diagnosis">dx</Answer> 
    <Answer questionId="Description"> </Answer> 
</AnswerSet> 
</Answers> 

...私は「answers.xml」と呼ばれるXMLファイルを持っていると私はなどのGridView、FormViewコントロールを、接続する必要がありますxmlファイル

+0

1つの提案:使用XMLを ''ないように' 4444'です。 –

+0

@Dour High Arch:データ入力システムは、xmlファイルにそのようなデータを入力するDLLに依存します。入力したデータを編集/削除する必要があります –

答えて

2

あなたがXmlDataSourceコントロールを使用したくない場合は、ファイルからデータソースオブジェクトを作成するためにXMLにLINQを使用することができます。

XDocument doc = XDocument.Load("somefile.xml"); 

var results = from answer in doc.Descendants("Answer") 
       select new 
       { 
        Question = answer.Attribute("questionId").Value, 
        Answer = answer.Value 
       }; 

GridView1.DataSource = results; 
GridView1.DataBind(); 
+0

" .Load( "somefile.xml"); "アプリケーションのルートにxmlファイルをロードするにはどうすればよいですか? –

+1

Server.MapPath( "〜/ somefile.xml") –

+0

を使用すると、データが表示されます。どのように編集できますか? –

2

System.Web.UI.WebControls.XmlDataSourceクラスは、XMLファイルを指定してASP.NET DataSourceを返します。このリンクには、サンプルコードとウォークスルーが含まれています。

XML属性をキーとして使用する必要がある場合は、XPathのexpressinにはAnswer[@MRN]などが含まれます。

+0

+1:確かに行く方法。あなたのコードに " –

関連する問題