OneNote API (REST) - <div> 标签似乎在 PATCH 期间被删除

OneNote API (REST) - <div> tags seeem to be stripped during PATCH

注意:使用与

中定义的相同的 PATCH 请求

每个 PATCH 请求都是一个附加操作,并使用提供给 |HTML| 的以下布局在我的代码中:

<div>
  <h1>Hardcoded_Name_ForNow</h1>
  <h3>4.345054</h3>
  <p>sdfsdfsdf</p>
  <img src="name:image-part-name" alt="New binary image" />
</div>

然而,当我获取页面内容时(参考:https://jsapi.apiary.io/apis/onenote/reference/get-pages/v10pagesid/get.html?console=1),结果是这样的:

(HEADER OMITTED)
<body data-absolute-enabled="true" style="font-family:Calibri;font-size:11pt">
  <div style="width:624px">
    <h1 style="font-size:16pt;color:#1e4e79;margin-top:11pt;margin-bottom:11pt">Hardcoded_Name_ForNow</h1>
    <h3 style="font-size:12pt;color:#5b9bd5;margin-top:11pt;margin-bottom:11pt">47.77527</h3>
    <p>TEST</p>
    <img alt="New binary image" width="624" height="353" src="https://www.onenote.com/api/v1.0/resources/0-60a8d03c70a04372ad60cabb8191f86d!1-6C3CB48828A4FCE7!185/$value" data-src-type="image/png" data-fullres-src="https://www.onenote.com/api/v1.0/resources/0-60a8d03c70a04372ad60cabb8191f86d!1-6C3CB48828A4FCE7!185/$value" data-fullres-src-type="image/png" />
    <h1 style="font-size:16pt;color:#1e4e79;margin-top:11pt;margin-bottom:11pt">Hardcoded_Name_ForNow</h1>
    <h3 style="font-size:12pt;color:#5b9bd5;margin-top:11pt;margin-bottom:11pt">41.16911</h3>
    <p>ewqeqweqweqew</p>
    <img alt="New binary image" width="624" height="353" src="https://www.onenote.com/api/v1.0/resources/0-9d9ab7935d16464eb826e70dd7fdb3ef!1-6C3CB48828A4FCE7!185/$value" data-src-type="image/png" data-fullres-src="https://www.onenote.com/api/v1.0/resources/0-9d9ab7935d16464eb826e70dd7fdb3ef!1-6C3CB48828A4FCE7!185/$value" data-fullres-src-type="image/png" />

    ...

  </div>
</body>

我知道如果我没有提供特定的目标 ID,PATCH 请求将以最顶层的 为目标。但是,我预计 PATCH 请求会在不剥离封装器的情况下批量投入布局。

目前通过假设 h1、h3、p、img 总是有序的来解决它,但是如果标签顺序更改或添加新标签,这将更难维护。

启用 div id 属性没有帮助,根本就没有。

我们真的没有办法在 OneNote 中存储任意容器,所以我们会尽力根据需要重新合成它们。除非他们有一些有意义的区分数据,否则个别数据可能会消失,正如您所看到的。我们的目标是让演示内容进出表面,而不是成为一个高保真度 HTML 商店。

也就是说,如果您将 data-id="UniqueFoo" 属性添加到您的 ,我们会将其视为具有语义意义,因此我们会做额外的工作来重现这些语义。 HTML 可能不 完全 相同,但我们应该就收容而言产生语义等价物,这很可能在这种简单的情况下意味着你​​的被保留为你' d期待。

如果您的应用中没有这些 div 所代表的唯一值,您可以使用 guid 或诸如 data-id 属性之类的一些简单的唯一值。