2012-01-09 47 views
2

我不斷收到此錯誤,當我做xml.LoadXml(stringName),其中stringName是我從數據庫中獲得的xml數據。但是,如果我從數據庫中複製並粘貼所有xml,並將stringName直接分配給xml,它將一切正常。根級別的數據無效。第1行,位置1

所以此工程:

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

但這並不:

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

任何想法,爲什麼輸入了XML將直接工作,但在數據庫犯規分配呢?如果我從數據庫打印字符串,它會在屏幕上顯示正確的xml(它是我複製和粘貼的位置)。

編輯:

好了,所以將XML存儲爲XML數據類型。

如果(使用MVC 2),我做的:

<%=Model.ShowXml%> 

我會在屏幕上看到完整的(正確)的XML。

現在,ShowXml是模型中的字符串。我應該將它作爲不同的數據類型嗎?我在我的控制器中使用automapper將我的模型映射到我的數據庫。

+0

你確定'stringName'是你認爲的嗎? – ChrisF 2012-01-09 22:00:57

+3

聽起來像它可能是一個編碼問題。什麼數據類型在數據庫中存儲xml以及您使用的是哪個數據庫/訪問庫?一些數據庫訪問代碼可能會有所幫助:) – 2012-01-09 22:01:55

+0

錯誤是什麼? – 2012-01-09 22:03:59

回答

3

這裏是我想嘗試:

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

如果輸出不是60(十進制ASCII<代碼),你可能有一個編碼問題。可能是因爲您錯誤地將XML存儲在數據庫中,或者您可能會錯誤地提取它。雖然要說明你在問題中所展示的細節水平。

+0

好吧,我得到了38個。我認爲它是因爲xml數據存儲爲xml類型,但我將它分配給了一個字符串。那會是嗎? – RJP 2012-01-09 22:08:10

+0

@Tonnie,38是'&'的ASCII碼。你肯定有一些編碼問題。可能是你閱讀它的方式。正如我剛纔所說,從你提供的細節層面來說。 – 2012-01-09 22:09:07

+0

好的,我做了一個編輯。我希望我提供足夠的信息。 – RJP 2012-01-09 22:26:44

-2

ERM 「XML數據」 是不是XML ...

嘗試

<xml>Data</xml> 

雖然XML是一個XML文檔中的一個節點一個愚蠢的名字。

+3

我認爲他的意思是作爲真正的XML數據的佔位符 – GolfWolf 2012-01-09 22:04:55

+0

20/20事後看來是一件好事。 (GRIN) – 2012-01-09 22:11:11

相關問題