明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2806|回复: 7

如何读取xml文件内容?

[复制链接]
发表于 2008-12-16 21:44:00 | 显示全部楼层 |阅读模式
不知哪位高手能编写个能读取xml文件内容的函数?
 楼主| 发表于 2008-12-16 22:03:00 | 显示全部楼层

xml内容如下:

<?xml version="1.0" encoding="GBK" standalone="yes" ?>

- <ns2:project xmlns:ns2=http://www.qqq.com/project>
  <id>2b5df5f8-9033-4d8c-b268-9da173ecc139</id>
  <ver>8</ver>
  <a>0.0</a>
  <area>123.0</area>
  <b>0.0</b>
  <description>此工程位于北京市长安街,是北京市重点建设工程。</description>
  <dog>2354137680</dog>
- <geology>
  <id>3ad0d749-bb33-4ce8-8718-6f0f634de0f6</id>
  <ver>1</ver>
- <soilTransects>
  <id>da05ae87-2d1e-4441-b9b7-94a1ed3e1ec7</id>
  <ver>1</ver>
  <name>新土层断面</name>
- <soilLayers>
  <id>81eafc30-d35f-4524-b5b4-446e9f940aa9</id>
  <ver>1</ver>
  <c>0.0</c>
  <e>1.0</e>
  <fi>0.0</fi>
  <gama>18.0</gama>
  <gs>2.5</gs>
  <h>2.0</h>
  <name>1</name>
  <number>1</number>
  <type>粘性土</type>
  </soilLayers>
- <soilLayers>
  <id>9548685e-1893-415c-bb51-bae66d72643a</id>
  <ver>1</ver>
  <c>0.0</c>
  <e>1.0</e>
  <fi>0.0</fi>
  <gama>18.0</gama>
  <gs>2.5</gs>
  <h>2.0</h>
  <name>2</name>
  <number>2</number>
  <type>粘性土</type>
  </soilLayers>
- <soilLayers>
  <id>bac54ff3-8fba-4822-be44-a221bb744e59</id>
  <ver>1</ver>
  <c>0.0</c>
  <e>1.0</e>
  <fi>0.0</fi>
  <gama>18.0</gama>
  <gs>2.5</gs>
  <h>2.0</h>
  <name>3</name>
  <number>3</number>
  <type>粘性土</type>
  </soilLayers>
  <wh>0.5</wh>
  </soilTransects>
  </geology>
  <level>Second</level>
  <name>北京市长安街某某中心</name>
  <r>0.0</r>
  <shape>2</shape>
</ns2:project>
发表于 2008-12-16 23:03:00 | 显示全部楼层

这种格式的文件有专门的读取插件。

可以看看以下的链接:

用VisualLISP程序查看明经社区的最新帖子

发表于 2008-12-17 15:30:00 | 显示全部楼层

支持楼上的"用VisualLISP程序查看明经社区的最新帖子

在学习中,没办法深入,楼上的大师是否可以指点入门呀?

 楼主| 发表于 2008-12-19 07:51:00 | 显示全部楼层

非常感谢mccad指点!

 楼主| 发表于 2008-12-19 15:14:00 | 显示全部楼层

但是对于本机的xml文件却不行呀!不知是否需要改啥参数?

发表于 2008-12-21 14:05:00 | 显示全部楼层
如果是直接的XML文件,则会简单一些,直接读取XML就行,后面的处理方法一样:
  1. (defun C:readxmlfile(/ filename xmlString objXml)
  2.   (setq filename "d:\\tmp.xml")
  3.   (setq xmlString "(<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>")
  4.   (setq objXml(vlax-create-object "Msxml2.DOMDocument"))
  5.   (vlax-invoke-method objXml "load" filename)
  6.   ;;(vlax-invoke-method objXml "loadXML" xmlString)
  7.   (princ (vlax-get-property objXml 'xml))
  8.   (vlax-release-object objXML)
  9. )
发表于 2015-9-2 10:54:07 | 显示全部楼层
本帖最后由 caogis 于 2015-9-2 11:17 编辑

求问<>里的元素名称怎么读取出来呢?

如:
ver>8</ver>
<a>0.0</a>
<area>123.0</area>
<b>0.0</b>
<description>此工程位于北京市长安街,是北京市重点建设工程。</description>
<dog>2354137680</dog>


中的er、a、area、b 、description、dog等
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-21 09:18 , Processed in 0.200297 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表