nodes.Current.SetValue("...") fluke?

本文关键字:quot fluke Current nodes SetValue | 更新日期: 2023-09-27 17:50:25

XPathNodeIterator nodes = nav.Select("//d:page/d:field/d:value", nsmgr);
...do stuff..
nodes.MoveNext();
nodes.Current.SetValue(i.ToString()); //<-HERE!
nodes.MoveNext();
nodes.Current.SetValue(numPages.ToString());
..do more stuff...

我在这个程序中多次使用nodes.Current.SetValue()函数,并且只有在这个实例中(每次对于这个节点)它只是不想工作。有了断点,它将显示该节点的innerXML反映i。然后,打印它就不工作了。在保存导航流之前,我重新选择了那个节点,但仍然一无所获。事实上,它不是什么都不是。它似乎是空格,甚至可能是换行。我不知道为什么在这种情况下它就是不起作用。下面是这两个节点的相关XML。

<field sid="PAGE">
      <itemlocation>
        <ae>
          <ae>absolute</ae>
          <ae>1051</ae>
          <ae>899</ae>
        </ae>
        <ae>
          <ae>extent</ae>
          <ae>47</ae>
          <ae>24</ae>
        </ae>
      </itemlocation>
      <value>
      </value>
      <borderwidth>0</borderwidth>
      <fontinfo>
        <ae>Times New Roman</ae>
        <ae>10</ae>
        <ae>plain</ae>
      </fontinfo>
      <justify>center</justify>
      <scrollhoriz>wordwrap</scrollhoriz>
      <scrollvert>fixed</scrollvert>
      <format>
        <ae>string</ae>
        <ae>optional</ae>
      </format>
      <next>OFPG</next>
      <previous>QTYFA_15</previous>
      <acclabel>asterisk.  when used as a.
hand receipt, enter hand receipt annex number.
hand receipt for quarters furniture, enter condition codes.
hand receipt annex or components receipt, enter accounting requirements code, ay r c.
enter page number.</acclabel>
    </field>
    <field sid="OFPG">
      <itemlocation>
        <ae>
          <ae>absolute</ae>
          <ae>1129</ae>
          <ae>899</ae>
        </ae>
        <ae>
          <ae>extent</ae>
          <ae>35</ae>
          <ae>24</ae>
        </ae>
      </itemlocation>
      <value>4</value>
      <borderwidth>0</borderwidth>
      <fontinfo>
        <ae>Times New Roman</ae>
        <ae>10</ae>
        <ae>plain</ae>
      </fontinfo>
      <justify>center</justify>
      <scrollhoriz>wordwrap</scrollhoriz>
      <scrollvert>fixed</scrollvert>
      <format>
        <ae>string</ae>
        <ae>optional</ae>
      </format>
      <previous>PAGE</previous>
      <next>NEXT_BUTTON</next>
      <acclabel>enter total number of pages.</acclabel>
    </field>

我很困惑为什么这不起作用…有人有什么想法吗?

编辑:更多信息:我更改了XMLDocument以保留空白。这似乎修复了它输出空格和/或换行,但值仍然丢失。

nodes.Current.SetValue("...") fluke?

它是否适用于您发布的两个节点,或者只是其中一个?