Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将XML元素链接到InDesign中的页面项_Javascript_Xml_Adobe Indesign_Extendscript - Fatal编程技术网

Javascript 将XML元素链接到InDesign中的页面项

Javascript 将XML元素链接到InDesign中的页面项,javascript,xml,adobe-indesign,extendscript,Javascript,Xml,Adobe Indesign,Extendscript,我可以检查所选文本的XML,如下所示: app.selection[0].associatedXMLElements[0]; 但在我的研究中,关于如何使用脚本处理XML的最基本的事情,我仍然摸不着头脑:如何将XML分配给项目?我可以手动打开结构窗格,然后将元素拖动到页面上所需的框架上。如果可以用老式的方式,我想用脚本也可以 如何将现有XML元素链接到现有页面项 上面的代码似乎只适用于选定的文本。如果我选择了一个图形,它将不会运行。 如何将XML链接到选定的图形 您可以引用xml节点和文本框并

我可以检查所选文本的XML,如下所示:

app.selection[0].associatedXMLElements[0];
但在我的研究中,关于如何使用脚本处理XML的最基本的事情,我仍然摸不着头脑:如何将XML分配给项目?我可以手动打开结构窗格,然后将元素拖动到页面上所需的框架上。如果可以用老式的方式,我想用脚本也可以

  • 如何将现有XML元素链接到现有页面项

  • 上面的代码似乎只适用于选定的文本。如果我选择了一个图形,它将不会运行。
    如何将XML链接到选定的图形


您可以引用xml节点和文本框并使用placeXML

    myXMl = myDoc.xmlElements[0];

    var myXmlNode = myXMl.evaluateXPathExpression("/myXML/node1")[0];

    var myFrame =  app.activeDocument.pages[0].textFrames[0];

    myXmlNode.placeXML(myFrame);
这种方法的优点是,任何aid:pstyle或aid:cstyle都将自动链接到现有的匹配样式

另一种方法是选择节点的值作为文本,并将其放置在插入点处的文本框中:

 myXMl = myDoc.xmlElements[0];

 var myText = myXMl.xpath("/myXML/node1[1]/text()");

 var myFrame =  app.activeDocument.pages[0].textFrames[0];

 myFrame.parentStory.insertionPoints[-1].contents = myText + '\r';

有两个特定属性。AssociatedXMLElement用于包含textFrames的页面项,如果未应用标记,则可能为null。AssociatedXMLElements仅适用于文本对象(字符、单词…),因为它们可以应用多个标记。请注意,未标记的文本返回空数组且不为null

将标记与pageItems关联需要首先创建或定位现有的xmlElements,然后使用myInDesignObject.markup(myXMLElement)

Nicolai建议的EvaluatePathExpression在浏览XML结构时非常有趣。但有时从对象中研究关联的XMLElement确实比研究xml结构更快


FWIW

顺便说一句,根据我的经验,生成XHTML或Docbook XML然后使用转换为InDesign ICML要容易得多…谢谢!正是我需要的。