私は次のように見える要素を持つXMLファイルがあります。読み取りXML
<level>
<name>Name of Level 1</name>
<number>1</number>
<authorTime>8.55</authorTime>
<scoringTime>20</scoringTime>
<map width="19" height="15"><!--Level1-->
<row>0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0</row>
<row>2,-1,-1,-1,-1,-1,-1,-1,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,2</row>
<row>2,-1,-1,-1,0,1,0,-1,2,-1,0,-1,-1,-1,-1,-1,0,-1,2</row>
<row>0,1,0,-1,2,-1,-1,-1,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,2</row>
<row>2,-1,-1,-1,2,-1,0,1,0,1,0,-1,0,0,-1,0,0,-1,2</row>
<row>2,-1,0,1,0,-1,-1,-1,2,-1,-1,-1,-1,2,-1,-1,2,-1,2</row>
<row>2,-1,-1,3,2,-1,0,-1,2,-1,0,-1,-1,2,-1,-1,2,-1,2</row>
<row>2,-1,0,1,0,0,0,-1,0,-1,0,1,1,0,-1,-1,2,-1,2</row>
<row>0,1,0,-1,-1,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,-1,2</row>
<row>2,-1,2,-1,-1,0,1,0,1,0,-1,0,1,0,1,1,0,-1,2</row>
<row>2,-1,0,0,-1,-1,-1,0,-1,2,-1,2,-1,0,-1,-1,2,-1,2</row>
<row>2,-1,2,-1,-1,0,-1,-1,-1,2,-1,2,-1,-1,-1,-1,2,-1,2</row>
<row>2,-1,0,0,-1,0,1,1,1,0,1,0,-1,0,1,1,0,-1,2</row>
<row>2,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2</row>
<row>0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0</row>
</map>
</level>
を私はC#/ XNAで(XDocumentを使用したいです)を使って "地図"を2Dの長方形の配列(y、x)に読み込みます - この例の場合、int [15,19]になります。
私はジャグ配列を作成し、後で長方形のものに変換されると考えることができますすべて -
int[][] test = ((from level in xDoc.Descendants("level")
select (from map in level.Element("map")
select (from row in map.Elements("row")
select (int.Parse(row.Value))).ToArray()).ToArray()));
のようなものをしかし、私は、私はどこかここにカンマで文字列分割を必要と知っています。とにかく、level.Element( "map")で「選択していません」というエラーが表示されます。
完成した配列は、{{0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0} {2、-1、-1、-1、-1、-1、-1,2、-1、-1、-1、-1、-1、-1、-1、-1 、-1,2}、...
誰でも手助けできますか?
--EDIT--
は、私が今持っている:私が欲しいデータを与えているが、「テスト」出力タイプのものとして、デバッグにまで見せている
var test = (from level in xDoc.Descendants("level")
select (from row in level.Elements("map").Elements("row")
select (from col in row.Value.Split(',')
select (int.Parse(col))).ToArray()).ToArray());
: {System.Linq.Enumerable.WhereSelectEnumerableIterator<System.Xml.Linq.XElement,int[][]>}
近づいていますが、まだ正しくはありません。
あなたはあなたの ')'をシャッフルする必要があります。私の編集を参照してください。 –