与OneNote AddIns的UpdatePageContent

时间:2014-11-03 04:28:41

标签: onenote

代码示例: 我有一个字符串pageContent如下:

<div class="ExternalClassB18B2CED421C4DBE9D35A9D59DB7749C">
    <table id="layoutsTable" style="width&#58;100%;">
        <tbody>
            <tr style="vertical-align&#58;top;">
                <td style="width&#58;100%;">
                    <div class="ms-rte-layoutszone-outer" style="width&#58;100%;">
                        <div class="ms-rte-layoutszone-inner" role="textbox" aria-haspopup="true" aria-autocomplete="both" aria-multiline="true">
                            <p>Test Page</p>
                            <table width="100%" class="ms-rteTable-default" cellspacing="0">
                                <tbody>
                                    <tr>
                                        <td class="ms-rteTable-default" style="width&#58;33.33%;">?ID</td>
                                        <td class="ms-rteTable-default" style="width&#58;33.33%;">?Task Name</td>
                                        <td class="ms-rteTable-default" style="width&#58;33.33%;">?Status</td>
                                    </tr>
                                    <tr>
                                        <td class="ms-rteTable-default">?1</td>
                                        <td class="ms-rteTable-default">?Task.1</td>
                                        <td class="ms-rteTable-default">?Completed</td>
                                    </tr>
                                </tbody>
                            </table>
                            <p>&#160;</p>
                        </div>
                    </div>
                </td>
            </tr>
        </tbody>
    </table>
    <span id="layoutsData" style="display&#58;none;">false,false,1</span>
</div> 

然后我使用方法UpdatePageContent更新到OneNote 我尝试调试并知道它无法解析为OneNote XML模式。 我尝试了很多方法,无法为这种情况找到解决方案。需要帮助!!!

2 个答案:

答案 0 :(得分:1)

OneNote对象模型支持HTML,但您需要将其放在HTMLBlock元素中。只需用以下内容包装HTML:

<?xml version="1.0" encoding="utf-8"?>
<one:Page ID="--yourpageid--" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote">
  <one:Outline>
    <one:OEChildren>
      <one:HTMLBlock>
        <one:Data>
          <![CDATA[
          html goes here
          ]]>
        </one:Data>
      </one:HTMLBlock>
    </one:OEChildren>
  </one:Outline>
</one:Page>

答案 1 :(得分:0)

您有一堆HTML作为输入,但OneNote客户端加载项对象模型需要在其中一个OneNote XML架构中形成XML内容;它不解释HTML(另一方面,OneNote服务的REST API也是如此)。

您可以切换到使用服务器端API,也可以在加载项中执行某些过程以获取HTML并将其转换为OneNote标记。