首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JavaScript将HTML标签转换为WordML

使用JavaScript将HTML标签转换为WordML
EN

Stack Overflow用户
提问于 2016-02-29 20:23:12
回答 1查看 510关注 0票数 0

你知道只用JavaScript就能把HTML标签转换成WordML的方法吗?我需要获取DOM元素的内容,并将其中的内容转换为WordML。

EN

回答 1

Stack Overflow用户

发布于 2016-03-01 01:46:07

已经在npm there doesn't seem to be a library上找过了。

所以我想你得自己动手做了。也就是说,WordML只是一种特殊风格的XML,对吧?您指的是This is the WordML

因此,获取DOM元素的内容非常简单,您可以使用jQuery来实现。

代码语言:javascript
复制
var ele = $('#wordml-element');

现在,您需要将其转换为与WordML兼容的XML。为此,您可以尝试使用xml library on npm

因此,您将把树形结构的DOM元素转换为树形结构的XML元素。执行此操作的推荐模式称为Visitor Pattern

在那里,您将得到一个XML结构,您可以使用相同的模式对其进行进一步的操作。最后,您将把XML结构转换为字符串,并将其保存到文件中。

现在,由于我不太了解您要转换为WordML的超文本标记语言的结构,我只能给您一个非常通用的代码解决方案,它可能如下所示:

代码语言:javascript
复制
var xml = require('xml')

function onTransformButtonClick() {
  var options = {} // see documentation
  var ele = $('#wordml-element')[0]
  var wordml = transformElement(ele)
  var text = xml(wordml, options);
  fileSave(text);
}

function transformElement(ele) {
  switch(ele.tagName) { // You could use attributes or whatever
    case 'word-document':
      return transformDocument(ele);
    case 'word-body':
      return transformBody(ele);
    case 'word-p':
      return transformParagraph(ele);
    case 'word-r':
      return transformRun(ele);
    case 'word-text':
      return transformText(ele);
  }
}

function transformDocument(ele) {
  var wordDocument = xml.element({...})
  ele.childNodes.forEach(function (child) {
    wordDocument.push(transformElement(child))
  })
  return [wordDocument]
}

function transformBody(ele) {
  // create new element via xml library...
}

function transformParagraph(ele) {
  // create new element via xml library...
}

function transformRun(ele) {
  // create new element via xml library...
}

function transformText(ele) {
  // create new element via xml library...
}

具体的实现,我将留给您,因为我不知道足够的细节,给您一个更详细的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35699486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档