如何使用SimpleStorage插入xml prolog生成gpx文件? [英] How to insert xml prolog using SimpleStorage to generate gpx file?

查看:100
本文介绍了如何使用SimpleStorage插入xml prolog生成gpx文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我计划一劳永逸地采用一种工具来处理gpx文件的创建。

I plan to adopt once and for all handy a tool for handling the creation of gpx files.

我相信 SimpleStorage ,它是 OmniXML 的存储,适合于简单的XML数据管理,数据存储以及系统之间的数据交换。

I believe SimpleStorage which is a OmniXML based storage suited for easy XML data management, data storage and data interchange beetween systems fits it.

这是一个(不完整的)代码段,用于生成裸露的gpx文件这样:

Here is an (incomplete) snippet to generate a bare bone gpx file that way :

function CreateGpx: ISimpleStorage;
const
  versionStr = '1.1';
  creatorStr = 'MyGpxCreatorSSway';

  xmlnsStr = 'http://www.topografix.com/GPX/1/1';
  xmlns_xsiStr = 'http://www.w3.org/2001/XMLSchema-instance';
  xsiStr: string =  xmlnsStr+' '+
                    xmlnsStr+'/gpx.xsd';

begin
  Result := CreateStorage('gpx');

  CreateBuilder(Result).Construct(
  [
    AddAttr('xmlns',xmlnsStr),
    AddAttr('version',versionStr),
    AddAttr('creator',creatorStr),
    AddAttr('xmlns:xsi',xmlns_xsiStr),
    AddAttr('xsi:schemaLocation',xsiStr),
    //
    AddElement('metadata',
    [
      AddElement('bounds',
      [
        AddAttr('minlat','90.00000000'),
        AddAttr('minlon','180.00000000'),
        AddAttr('maxlat','-90.00000000'),
        AddAttr('maxlon','-180.00000000')
      ]),
      AddElement('extensions',[])
    ]),
    AddElement('extensions',[])
  ]
  );
end;

请帮助我!

推荐答案

我从以下位置发现了相关的帖子 OmniXML 网站上的 Miha Remec

I've spotted relevant post from Miha Remec on OmniXML site.

我的问题的一个可能答案可以归结为如下:

One possible answer to my question might be boiled down to as follows :

with OwnerDocument(Result.XMLNode) do
begin
  InsertBefore(CreateProcessingInstruction('xml', 'version="1.0" encoding="UTF-8"'), DocumentElement)
end;

在指令行后追加:

  Result := CreateStorage('gpx'); 

这篇关于如何使用SimpleStorage插入xml prolog生成gpx文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆