我有一个xml模板文件。我需要将其“转”为代码。添加一些属性,然后以编程方式添加到父容器。
XML模板(在真实的应用程序中要复杂得多,这只是例如):
<StackLayout id="{{ 'recipe_' + recipe_id }}">
<Label text="{{ title }}"/>
<Label text="{{ description }}"/>
<Button text="Choose" onTap="onRecipeBtnTap"/>
</StackLayout>
代码:
let recipeCard = builder.parse("~/templates/recipe.xml") //<-- problem here
let slide = new slide.Slide()
slide.addChild(recipeCard)
slidesContainer.add(slide)
问题是构建器模块需要xml字符串而不是路径。所以,我想以某种方式将xml文件转换为字符串。请告知这里最好的方法。
答案 0 :(得分:1)
好的,找到了怎么做。需要使用文件系统模块:
let template = fs.File.fromPath(__dirname + '/templates/recipe.xml')
let templateString = template.readTextSync()
let recipeCard = builder.parse(templateString)
答案 1 :(得分:0)
您可以使用"ui/builder"
并简单地调用其load()
方法,并传递要加载的xml的路径和名称。看看this示例,该示例展示了使用自己的代码(ts / js)加载XML。有关详细信息,请参阅documentation关于"ui/builder"
。