2012-01-09 281 views
2

xml.LoadXml(stringName)を実行するとこのエラーが発生します。ここで、stringNameはデータベースから取得したxmlデータです。しかし、データベースからすべてのXMLをコピーして貼り付け、stringNameをxmlに直接割り当てると、すべて正常に動作します。ルートレベルのデータが無効です。 1行目の位置1

は、これは動作します:

string stringName = "<... some xml data ...>" 
xml.LoadXml(stringName) 

しかしこのdoesntの:

xml.LoadXml(stringName) <- stringName is passed to my method 

すべてのアイデアは、なぜ直接動作するXMLを入力しますが、データベースのdoesntからそれを割り当てますか?データベースから文字列を出力すると、画面上に正しいxmlが表示されます(コピー元と貼り付け先)。

EDIT:

わかりましたので、XMLは、XMLデータ型として格納されます。

(MVC 2を使用して)場合は、私が行います

<%=Model.ShowXml%> 

私は、画面上のフル(および正しい)は、XMLが表示されます。

ここで、ShowXmlはモデル内の文字列です。私はそれを別のデータ型にする必要がありますか?私は私のモデルを自分のデータベースにマップするために私のコントローラーでオートマトンを使用しています。

+0

あなたは 'stringName'があなたの考えであると確信していますか? – ChrisF

+3

それはエンコードの問題のようなサウンドです。 xmlをデータベースに格納するデータ型と、使用しているデータベース/アクセスライブラリは何ですか?一部のデータベースアクセスコードが役立つかもしれません:) –

+0

エラーは何ですか? –

答えて

3

は、ここで私がしようとするものです。

string xmlFromDB = ... fetch XML from DB 
Console.WriteLine((int)xmlFromDB[0]); 

出力が60でない場合(<ためASCIIコードを10進数)あなたはおそらくエンコードの問題があります。データベースにXMLを間違って格納しているか、間違ってフェッチしている可能性があります。あなたの質問にあなたが示した細部のレベルと言っても。

+0

大丈夫、私は38を持っています。私はそのXMLデータはxml型として格納されていると思いますが、私はそれを文字列に正しく代入しています。そうだろうか? – RJP

+0

@トニー、38は '&'のASCIIです。あなたは間違いなくエンコードの問題があります。あなたがそれを読んでいる方法かもしれません。私が言ったように、あなたが提供した細かいレベルから言います。 –

+0

さて、私は編集をしました。十分な情報を与えてくれることを願っています。 – RJP

-2

のErm "XMLデータは、" XMLではありませんXMLは、XML文書内のノードのためにばか名前ですが...

<xml>Data</xml> 

を試してみてください。

+3

私は彼が実際のXMLデータのプレースホルダーとしてそれを意味したと思う。 – GolfWolf

+0

20/20後見は素晴らしいことです。 (笑) –

関連する問題