2011-03-21 109 views
0

我試圖編輯在C#.odc文件我想這將是簡單的,因爲它只是XML,但是當我運行它,它涉及到將文檔xmlDoc.Load("THEFILE.odc")它給了我一個錯誤:在C#編輯ODC文件

'Content-Type'是一個意外的標記。預期令牌是「「」或‘’'線5,位置18 而這是我的數字談論行該文檔本身是5位。18:

<meta http-equiv=Content-Type content="text/x-ms-odc; charset=utf-8"> 

該文件是在其下方在ODC文件,我需要通過連接屬性,改變的ConnectionString。謝謝advace

<html xmlns:o="urn:schemas-microsoft-com:office:office" 
xmlns="http://www.w3.org/TR/REC-html40"> 

<head> 
<meta http-equiv=Content-Type content="text/x-ms-odc; charset=utf-8"> 
<meta name=ProgId content=ODC.Table> 
<meta name=SourceType content=OLEDB> 
<title>Title</title> 
<xml id=docprops><o:DocumentProperties 
    xmlns:o="urn:schemas-microsoft-com:office:office" 
xmlns="http://www.w3.org/TR/REC-html40"> 
    <odc:Connection odc:Type="OLEDB"> 
    <odc:ConnectionString>"ConnectionString"</odc:ConnectionString> 
    <odc:CommandType>Table</odc:CommandType> 
    <odc:CommandText>"CommandText"</odc:CommandText> 
    <odc:SSOApplicationID>testReport</odc:SSOApplicationID> 
    <odc:CredentialsMethod>Stored</odc:CredentialsMethod> 
    </odc:Connection> 
</odc:OfficeDataConnection> 
</xml> 
<style> 
<!-- 
    .ODCDataSource 
    { 
    behavior: url(dataconn.htc); 
    } 
--> 
</style> 

</head> 

的Theres更多的文件本身,但上述是我嘗試編輯XML。

謝謝

回答

1

您的.ODC文件看起來像XML,但它不是。它不尊重一些XML規則。 例如,meta標籤未關閉。

<meta name=ProgId content=ODC.Table>

應該

<meta name="ProgId" content="ODC.Table"/>(注意引號和斜線加)

併爲Content-Type的第一個錯誤;它應該是:

<meta http-equiv="Content-Type" content="text/x-ms-odc; charset=utf-8"/> (Content-Type需要用引號(或單引號)包圍)。

我建議你直接加載你的.ODC文件HTML Agility Pack或在加載之前使用一些清理工具。

+0

我沒有創建這個odc文件。它是由我做的excel我實際上正在嘗試在sharepoint中創建一個功能,以便當我激活該功能時,它會相應地更改連接字符串。現在我將部署到不同的服務器,連接庫中還有很多這些odc文件。任何其他有效的方式?我也會看看你給我的鏈接。非常感謝 也我剛開始閱讀這個文件作爲文本使用streamreader。我想使用它來改變watever我需要wat你想想嗎? – Faizych 2011-03-21 16:25:28

+0

@Faizych使用HTML Agility Pack來改變你所需要的東西。這個包允許讀取像.ODC文件那樣的格式不正確(x)HTML。通過使用它,您可以更快地完成工作。 – Stephan 2011-03-21 17:40:15