代码示例: 我有一个字符串pageContent如下:
<div class="ExternalClassB18B2CED421C4DBE9D35A9D59DB7749C">
<table id="layoutsTable" style="width:100%;">
<tbody>
<tr style="vertical-align:top;">
<td style="width:100%;">
<div class="ms-rte-layoutszone-outer" style="width: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:33.33%;">?ID</td>
<td class="ms-rteTable-default" style="width:33.33%;">?Task Name</td>
<td class="ms-rteTable-default" style="width: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> </p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<span id="layoutsData" style="display:none;">false,false,1</span>
</div>
然后我使用方法UpdatePageContent更新到OneNote 我尝试调试并知道它无法解析为OneNote XML模式。 我尝试了很多方法,无法为这种情况找到解决方案。需要帮助!!!
答案 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标记。