Adobe InDesign JavaScript XML:如何以编程方式添加 XML 结构标签?

发布于 2024-09-24 19:50:46 字数 578 浏览 7 评论 0原文

此代码引用根 XML 节点,在其下添加一个 FirstXMLObject,然后在 FirstXMLObject 下添加一些字段:

var myXMLroot = mydocument.xmlElements.item(0);  // The root always exists
var b = myXMLroot.xmlElements.add( "FirstXMLObject");
b.xmlElements.add( "Name", "Bob");
b.xmlElements.add( "Address", "1234 Sesame Lane");

假设“add”的第二个参数是字段的值。但是,当我将关联的 InDesign 标记拖到文档中时,什么也没有显示。

我应该使用什么方法或参数来设置 XML 元素的值,以便它链接到 InDesign?是否有一些书列出了这些方法以及如何使用 JavaScript 使用它们?

我能够使用 eval 让 InDesign ExtendScript 将 MS ASP.NET MVC 2 JSON 序列化产品加载到单个 JavaScript 变量。现在我需要在 XML 结构窗格中获取这些产品。

This code references the root XML node, adds a FirstXMLObject under it, then adds a few fields under FirstXMLObject:

var myXMLroot = mydocument.xmlElements.item(0);  // The root always exists
var b = myXMLroot.xmlElements.add( "FirstXMLObject");
b.xmlElements.add( "Name", "Bob");
b.xmlElements.add( "Address", "1234 Sesame Lane");

Supposedly, the second parameter to "add" is the value of the field. However, when I drag the associated InDesign tag to a document, nothing shows up.

What method or parameter do I set the value of the XML Element so that it links to InDesign? Is there some book that lists these methods and how to use them using JavaScript?

I was able to get InDesign ExtendScript to load MS ASP.NET MVC 2 JSON serialize products to a single JavaScript variable using eval. Now I need to get those products in the XML structure pane.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

仅此而已 2024-10-01 19:50:46

我最终这样做了:

var myXMLroot = mydocument.xmlElements.item(0);  // The root always exists
var b = myXMLroot.xmlElements.add( "FirstXMLObject");
var c = b.xmlElements.add( "Name");
    c.contents = "Bob";
var d = b.xmlElements.add( "Address");
    d.contents = "1234 Sesame Lane";

这适用于图像(在 Mac 上):

e.xmlAttributes.add("href", "file://" + 
     varPathToImage.replace(/^.?:\\/i, "G:").replace(/\\/g, ":"));

这适用于 PC:

e.xmlAttributes.add("href", "file://" + varPathToImage);

这确定要使用哪一个:

 if( File.fs == "Windows")

I ended up doing this:

var myXMLroot = mydocument.xmlElements.item(0);  // The root always exists
var b = myXMLroot.xmlElements.add( "FirstXMLObject");
var c = b.xmlElements.add( "Name");
    c.contents = "Bob";
var d = b.xmlElements.add( "Address");
    d.contents = "1234 Sesame Lane";

And this for images (on a Mac):

e.xmlAttributes.add("href", "file://" + 
     varPathToImage.replace(/^.?:\\/i, "G:").replace(/\\/g, ":"));

This for a PC:

e.xmlAttributes.add("href", "file://" + varPathToImage);

And this to determine which one to use:

 if( File.fs == "Windows")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文