在C#中编辑ODC文件

时间:2011-03-21 15:29:48

标签: c# html xml xml-namespaces

我正在尝试编辑c#中的.odc文件我觉得它很简单,因为它只是xml但是当我运行它并且它来加载文档xmlDoc.Load("THEFILE.odc")时它给了我一个错误:

'Content-Type'是一个意外的令牌。预期的标记是'''或'''。第5行,第18位。 这就是我在谈论文档本身的第5行第18位:

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

文件在下面。这是一个odc文件。我需要通过连接属性并更改ConnectionString。谢谢你的推荐

<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>

还有更多文件本身,但上面是我试图编辑的xml。

谢谢

1 个答案:

答案 0 :(得分:1)

您的.ODC文件看起来像XML,但事实并非如此。它不尊重某些XML规则。 例如,元标记未关闭。

<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需要用引号(或单引号)包围)。

我建议您使用HTML Agility Pack直接加载.ODC文件,或在加载之前使用一些清理工具。