なるようにする。

スノーボードとプログラムとときどき○○○

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  41  : 記事  0  : コメント  844  : トラックバック  5

書庫

日記カテゴリ

xsdをdocxへ その1

http://blogs.wankuma.com/tyato/archive/2007/08/27/92159.aspx

支離滅裂な文章が踊っているので要約すると、

 ・XSDからパラメータ関連の仕様書をdocxに自動で出力したい

っていうことになるみたいですハイ。

まずはxsdをどーにかして読み込みたい。しかし、XSDって定義やん!どないすんねん?などと思っていると、こんなコード発見。

 const string schemaPath = @"C:\\test.xsd";
 const string documentPath = @"C:\\test.xml";
 System.IO.StreamReader xmlStream = new System.IO.StreamReader(schemaPath);
 DataSet dataSet1= new DataSet();
 dataSet1.ReadXmlSchema(xmlStream);
 xmlStream.Close();
 dataSet1.ReadXml(documentPath, XmlReadMode.InferSchema);
 foreach (DataColumn col in dataSet1.Tables["item"].Columns)
 {
 Console.WriteLine("-"+col.ColumnName+":"+col.DataType);
 }

あ、なるほど。スキーマとして読み込んで、定義部分を引っ張り出すことができるわけですな。

まぁ整形はおいといて、あとはdocxが自分で作り出せればOK

するとマイクロソフト様がこんなん公開してた


Office XML ファイル形式と 3.0 .NET Framework からのパッケージ コンポーネントを使用する単純な Excel 2007 ブックまたは単純な Word 2007 ドキュメントを作成する方法
http://support.microsoft.com/kb/931866/ja


ビンゴ!これですこれ。んでできあがったのはこんな感じ

 private void btn_readxsd_Click(object sender, EventArgs e)
 {
  const string schemaPath = @"C:\\test.xsd";
  const string documentPath = @"C:\\test.xml";

  System.IO.StreamReader xmlStream = new System.IO.StreamReader(schemaPath);
  dataSet1.ReadXmlSchema(xmlStream);
  xmlStream.Close();

  dataSet1.ReadXml(documentPath, XmlReadMode.InferSchema);

  String worddata = "";
  foreach (DataColumn col in dataSet1.Tables["item"].Columns)
  {
   worddata += "カラム名称:" + col.ColumnName + "<br>データタイプ:" + col.DataType + "<br>";
  }
  CreateDocxFile(worddata, "xmlschema.docx");
 }

 C#さわりはじめてから2ヶ月程度なんでツッコまないで~(@@;

とりあえず XSD読み込み→docx出力 まではいけた

あとは必要な情報と整形の問題なわけですが、事件はリアルタイムに進行中。

文中の<br>は改行できねーかなーと思っていれてみましたが、全く意味がなし

。・゚・(ノД`)・゚・。

つか、パラメータの定義やから、docxでなくて、xlsxの方がいいんじゃね?と思い始めた。。

 

つづく!(レントン風)

 

 

P.S.

FireFoxで最初投稿したらえらいことにっ

IE7で整形しなおしてみますた。ちゃんと見えるかなぁ

投稿日時 : 2007年8月29日 0:50

コメント

# re: xsdをdocxへ その2 2007/08/29 0:53 シャノン
改行してくだちぃorz

# re: xsdをdocxへ その2 2007/08/29 1:06 中博俊
XMLSchemaDocumentかなんかで読み込めるはず。
DataSetじゃうまくいかないこと当社比300%

# re: xsdをdocxへ その2 2018/01/11 10:42 king
cc0111
http://www.ralphlaurenoutlet.in.net
http://www.canadagooseoutletjackets.ca
http://www.air-max2018.us.com
http://www.ralphlaurenoutletpolo.org.uk
http://www.guccioutlets.us.org
http://www.uggsbootscanada.ca
http://www.adidasnmd.us.org
http://www.coachoutlets.us.org
http://www.harden-vol1.com
http://www.hermes-handbags.us
http://www.louboutinshoes.in.net
http://www.northfacejacketsoutlet.com.co
http://www.nikezoom.us
http://www.burberry-outlet-canada.ca
http://www.uggoutlet-store.us
http://www.cheapoakleysunglasses.com.co
http://www.jordanretro.name
http://www.uggsoutletstoreonline.us.com
http://www.canadagooseoutletjackets.us
http://www.adidas-outlet.us.com
http://www.ralphlaurensale-clearance.me.uk
http://www.uggsaustralia.fr
http://www.valentinoshoesoutlets.us.com
http://www.canadagooseoutletstores.us
http://www.ugg-boots.net.co
http://www.christianlouboutinshoes.us.org
http://www.canadagooseoutlets.us
http://www.uggs-boots.fr
http://www.coachfactory-outletonline.us.org
c0111

# re: xsdをdocxへ その2 2018/03/18 12:01 abc
http://www.adidas-shoes.us.com
http://www.ultraboost.us
http://www.timberlandbootsoutlet.us.com
http://www.katespadeoutletclearance.us.com
http://www.asicsshoes-outlet.us.com
http://www.air-max2018.us.com
http://www.suprashoes.us.org
http://www.canadagooseoutletus.us.com
http://wwwcanadagoose-uk.com.co
http://www.canadagoosesoutlet.ca
http://www.pandoracharms.com.co
http://www.ralphlaurensale-clearance.org.uk
http://www.coachoutletsonlines.us.com
http://www.philippplein-outlet.com
abc20180318

Post Feedback

タイトル
名前
Url:
コメント