我尝试使用以下html内容创建一个onenote页面(为简洁起见,删除了html,正文和其他标记):
<p style="background-color: red;">Hello</p>
但是onenote api创建的输出html变为:
<p id="p:{a6a9df32-7774-400d-90db-facbc7c9f90a}{82}" style="margin-top:5.5pt;margin-bottom:5.5pt">
<span style="background-color:red">Hello</span>
</p>
它创建了一个用于保存内容的范围,并且内联样式被添加到此范围而不是p标记。如何将内联样式添加到p标记?
答案 0 :(得分:2)
您的第一个片段在OneNote用语中称为“输入HTML”,第二个片段称为“输出HTML”。您应该假设“输入”和“输出”HTML将是不同的。这是因为OneNote实际上并不将内容编码和存储为标准HTML。来自documentation:
在创建或更新OneNote页面时定义页面内容和结构的HTML称为输入HTML。
获取页面内容时返回的HTML称为输出HTML。输出HTML与输入HTML不同。
Microsoft Graph中的OneNote API保留了输入HTML的语义内容和基本结构,但将其转换为一组受支持的HTML元素和CSS属性。 API还添加了支持OneNote功能的自定义属性。
将此问题视为语言翻译。您可以轻松地将英语翻译成法语,将法语翻译成英语。但是,如果您进行完整的往返(英语 - >法语 - >英语),您最终会得到与您开始时完全相同的英语。这是因为翻译与编码完全不同,翻译总是有损转换。
以此为例:
您会注意到#1和#3具有相同的含义,但不是相同的语法。这基本上是OneNote发生的事情。