新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> DTD, XML Schema(XMLS), RELAX NG
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 DTD/XML Schema 』 → 如何由xsd生成xml啊? 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 12406 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 如何由xsd生成xml啊? 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     songlz 美女呀,离线,快来找我吧!
      
      
      等级:大二(研究C++)
      文章:39
      积分:232
      门派:XML.ORG.CN
      注册:2004/3/9

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给songlz发送一个短消息 把songlz加入好友 查看songlz的个人资料 搜索songlz在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看songlz的博客楼主
    发贴心情 如何由xsd生成xml啊?

    看到介绍的都是怎么写xsd
    我现在需要根据xsd生成几个xml的实例
    有没有什么方法,根据xsd生成xml的格式,我再往里边填数据的方法?
    谢谢

       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    研究ontology

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/8/5 15:50:00
     
     johnrobbet 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:25
      积分:161
      门派:XML.ORG.CN
      注册:2005/8/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给johnrobbet发送一个短消息 把johnrobbet加入好友 查看johnrobbet的个人资料 搜索johnrobbet在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看johnrobbet的博客2
    发贴心情 
    怎么没人回复阿,我觉得这个问题挺好的
    我在看schema 的时候,手边没有xml文件,要是能够生成就好了
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/8/9 17:03:00
     
     lichugang 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:65
      门派:XML.ORG.CN
      注册:2005/8/10

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lichugang发送一个短消息 把lichugang加入好友 查看lichugang的个人资料 搜索lichugang在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lichugang的博客3
    发贴心情 
    用编程实现吧,应该不会太难
    类似于填表格
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/8/11 12:01:00
     
     coolbug 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:68
      门派:XML.ORG.CN
      注册:2004/10/25

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给coolbug发送一个短消息 把coolbug加入好友 查看coolbug的个人资料 搜索coolbug在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看coolbug的博客4
    发贴心情 
    没有人去写这个工具么?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/8/23 14:14:00
     
     coolbug 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:68
      门派:XML.ORG.CN
      注册:2004/10/25

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给coolbug发送一个短消息 把coolbug加入好友 查看coolbug的个人资料 搜索coolbug在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看coolbug的博客5
    发贴心情 
    我已经写完了.
    程序如下:
    public static void GetNodes(XmlElement element)
      {
       if(element.ChildNodes.Count>0)
       {
        if(element.Name=="xs:element")
        {
         
         strFirst+="<"+element.Attributes["name"].InnerXml+">\n\r";
         strLast="</"+element.Attributes["name"].InnerXml+">\n\r"+strLast;
        }
        foreach(XmlElement elementC in element.ChildNodes)
        {
         GetNodes(elementC);
        }
        
       }
       else
       {
        strFirst+="<"+element.Attributes["name"].InnerXml+">\n\r";
        strFirst+="</"+element.Attributes["name"].InnerXml+">\n\r";
       }
      }

    XmlDocument doc=new XmlDocument();
       doc.Load(@"e:\newfile\t.xsd");
       XmlNodeList list=doc.DocumentElement.ChildNodes;
       foreach(XmlElement el in list)
       {
        GetNodes(el); 
       }

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/8/23 15:57:00
     
     jackeyzsu 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:21
      积分:139
      门派:XML.ORG.CN
      注册:2005/8/17

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jackeyzsu发送一个短消息 把jackeyzsu加入好友 查看jackeyzsu的个人资料 搜索jackeyzsu在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看jackeyzsu的博客6
    发贴心情 
    用XMLspy不可以嘛?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/8/24 10:49:00
     
     coolbug 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:68
      门派:XML.ORG.CN
      注册:2004/10/25

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给coolbug发送一个短消息 把coolbug加入好友 查看coolbug的个人资料 搜索coolbug在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看coolbug的博客7
    发贴心情 
    using System;
      2using System.IO;
      3using System.Xml;
      4
      5namespace RWXML
      6{
      7    /**//// <summary>
      8    /// TransXSD 的摘要说明。
      9    /// </summary>
    10    public class TransXSD
    11    {
    12        public static string strFirst="<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n\r";
    13        public static string strLast="";
    14        public static bool result=false;
    15        public TransXSD()
    16        {
    17            //
    18            // TODO: 在此处添加构造函数逻辑
    19            //
    20        }
    21        /**//// <summary>
    22        /// Check the childnodes if exist element "xs:element"
    23        /// </summary>
    24        /// <param name="node"></param>
    25        /// <returns></returns>
    26        public static bool CheckNode(XmlNode node)
    27        {
    28            foreach(XmlNode nodeC in node.ChildNodes)
    29            {
    30                if(nodeC.Name=="xs:element")
    31                {
    32                    result=true;
    33                }
    34                else
    35                {
    36                    if(nodeC.ChildNodes.Count>0)
    37                    {
    38                        CheckNode(nodeC);
    39                    }
    40                }
    41            }
    42            return result;
    43        }
    44        public static void InitialResult()
    45        {
    46            result=false;
    47        }
    48        /**//// <summary>
    49        /// Get the xml text
    50        /// </summary>
    51        /// <param name="node"></param>
    52        public static void GetNodes(XmlNode node)
    53        {
    54            if(node.HasChildNodes)
    55            {
    56                if(node.Name=="xs:element")
    57                {
    58                    if(CheckNode(node))
    59                    {
    60                        InitialResult();
    61                        strFirst+="<"+node.Attributes["name"].InnerXml+">\n\r";
    62                    }
    63                    else
    64                    {
    65                        string temp1="";
    66                        temp1+="<"+node.Attributes["name"].InnerXml+">"+"</"+node.Attributes["name"].InnerXml+">\n\r";
    67                        strFirst+=temp1;
    68                    }
    69                    
    70                }
    71                if(CheckNode(node)==true)
    72                {
    73                    foreach(XmlNode nodeC in node.ChildNodes)
    74                    {
    75                        InitialResult();
    76                        GetNodes(nodeC);
    77                    }
    78                    if(node.Name=="xs:element")
    79                    {
    80                        strFirst+="</"+node.Attributes["name"].InnerXml+">\n\r";
    81                    }
    82                }
    83            }
    84            else
    85            {
    86                if(node.Name=="xs:element")
    87                {
    88                    string temp1="";
    89                    temp1+="<"+node.Attributes["name"].InnerXml+">"+"</"+node.Attributes["name"].InnerXml+">\n\r";
    90                    strFirst+=temp1;
    91                }
    92            }
    93        }
    94        /**//// <summary>
    95        /// Build the text for xml from *.xsd
    96        /// </summary>
    97        /// <param name="strXSD">The *.xsd file address</param>
    98        /// <param name="strXML">The xml stord address</param>
    99        public static void BuildTextandXML(string strXSD,string strXML)
    100        {
    101            BuildText(strXSD);
    102            BuildXML(strXML);
    103        }
    104        public static void BuildText(string strXSD)
    105        {
    106            XmlDocument doc=new XmlDocument();
    107            doc.Load(strXSD);
    108            XmlNodeList list=doc.DocumentElement.ChildNodes;
    109            foreach(XmlNode node in list)
    110            {
    111                GetNodes(node);
    112            }
    113        }
    114        public static void BuildXML(string strXML)
    115        {
    116            StreamWriter sw=new StreamWriter(strXML);
    117            try
    118            {
    119                sw.WriteLine(strFirst+strLast);
    120            }
    121            catch(Exception ex)
    122            {
    123                throw new Exception(ex.Message);
    124            }
    125            finally
    126            {
    127                sw.Close();
    128            }
    129        }
    130    }
    131}
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/8/25 8:46:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 DTD/XML Schema 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/10 18:02:51

    本主题贴数7,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    109.375ms