Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 使用添加XElement并指定命名空间_Vb.net_Linq_Excel_Xelement - Fatal编程技术网

Vb.net 使用添加XElement并指定命名空间

Vb.net 使用添加XElement并指定命名空间,vb.net,linq,excel,xelement,Vb.net,Linq,Excel,Xelement,我试图使用linq读取和修改一些Excel XML,首先我获取名为Datagrid的工作表 从那里我选择第一行(使用索引) 现在我想在这一行中找到属性为atrHeader Dim dg = From item In root...<ss:Worksheet> Select item Where item.@ss:Name = "Datagrid" Dim r = From item In dg...<Table>...<Row> Select

我试图使用linq读取和修改一些Excel XML,首先我获取名为Datagrid的工作表 从那里我选择第一行(使用索引) 现在我想在这一行中找到属性为atrHeader

    Dim dg = From item In root...<ss:Worksheet> Select item Where item.@ss:Name = "Datagrid"
    Dim r = From item In dg...<Table>...<Row> Select item Where item.@ss:Index = 1 row
    Dim cell = From item In r...<Cell> Select item Where item.@ecProperty = "atrHeader"
保存文件后,我会看到新的值

    <cell xmlns="">123</cell>
123
但是我需要它是这样的

   <ss:Cell>123</ss:Cell>
123
如果我在创建新元素时尝试使用“ss:cell”,我会得到一个RTE语句:“不能包含”

我的代码顶部已经有以下imports语句:

Imports <xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
导入
初始XML

  <ss:Worksheet ss:Name="Datagrid">
    <ss:Table ss:ExpandedColumnCount="17" ss:ExpandedRowCount="5" x:FullColumns="1" x:FullRows="1" ss:DefaultRowHeight="15">
      <ss:Row ss:Index="1" ss:AutoFitHeight="0">
        <ss:Cell ecProperty="model_name" ss:StyleID="styleReadOnly">
          <ss:Data ss:Type="String">Joe's Project</ss:Data>
        </ss:Cell>
        <ss:Cell ss:Index="6" ss:StyleID="styleColumnDescription">
          <ss:Data ss:Type="String">Type</ss:Data>
        </ss:Cell>
        <ss:Cell ecProperty="atrHeader" ss:Index="7">
          <ss:Data ss:Type="String">blank</ss:Data>
        </ss:Cell>
      </ss:Row>
      <ss:Row ss:AutoFitHeight="0" ss:Index="2">
        <ss:Cell ecProperty="email_address" ss:StyleID="styleBiDirectional">
          <ss:Data ss:Type="String">joe@ec.com</ss:Data>
        </ss:Cell>
        <ss:Cell ss:Index="6" ss:StyleID="styleColumnDescription">
          <ss:Data ss:Type="String">Full Path</ss:Data>
        </ss:Cell>
        <ss:Cell ecProperty="atrHeader" ss:Index="7">
          <ss:Data ss:Type="String">blank</ss:Data>
        </ss:Cell>
      </ss:Row>
    </ss:Table>
  </ss:Worksheet>

乔的项目
类型
空白的
joe@ec.com
全路径
空白的

导入名称空间只允许您在处理XML文本和查询(AFAIK)时获得设计时支持。这允许您像编写查询一样编写查询并创建文本元素。您也可以将
newCell
创建为文本

Dim newCell = <ss:cell>123</ss:cell>
Dim newCell = <ss:cell>123</ss:cell>
Dim ss As XNamespace = "urn:schemas-microsoft-com:office:spreadsheet"
Dim newCell As New XElement(ss + "cell", 123)