0

Flex アプリケーションで .xlsx ファイルを読み込もうとしています。今、私は自分の情報がどこにあるかを判断しようとしています。したがって、.xlsx ファイルから XML データを取得しました。

var x:XML = <worksheet mc:Ignorable="x14ac"
  xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
  xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" 
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
  xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac">
     <dimension ref="A1:F77"/>
</worksheet>;

ここで、ディメンション属性「ref」を取得したいと思います。したがって、次のコードを使用します。

var test:Object = x.dimension;
var value:Object = x.dimension.@ref;

ワークシートにスキーマ式を残すと、どちらも完璧に機能します。スキーマを含めて正しい結果を得るにはどうすればよいですか? スキーマなしで XML を取得する良い方法はありますか?

あなたの助けのためのタンク。

4

1 に答える 1

3

ディメンションがデフォルトの名前空間にあるためですxmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"

したがって、xml のデフォルトの名前空間を簡単に取得して、次のように使用できます。

var ns:Namespace = x.namespace();
var value:Object=x.ns::dimension.@ref;

または、自分で作成して同じ方法で使用します。

var ns2:Namespace=new Namespace("http://schemas.openxmlformats.org/spreadsheetml/2006/main");
var value2:Object=x.ns2::dimension.@ref;

ここでは Wonderfl のライブ テスト: http://wonderfl.net/c/7XwU

于 2012-08-01T11:27:41.067 に答える