2011-09-17 12 views
0

でXMLを作成します。それはすべて正常に動作します。は、次のように私はNSDictionarysの配列からXMLドキュメントを作成してい数値文字列

問題は、「年」エンティティの値が科学的表記に変換されていることです。これは、情報辞書内の元の文字列が「1998」であれば、何であるかXMLファイルで終わることです:

<year>1.998E3</year> 

要素を追加するとき、私は、文字列の前後に引用符を入れてみましたが、その後、私はで引用符を取得します出力XML:

<year>"1998"</year> 

どのようなアイデアですか?

+0

ここではソートされたデータとデータの追加方法について説明します。 – Mark

+0

ソートされた元のデータがXMLファイルから読み込まれました。おそらくその辞書はすべての文字列オブジェクトではなかったでしょう。 – Flyingdiver

+0

問題はどのようなタイプ[情報objectForKey:それが返されるものとして返す – Mark

答えて

0

NSXMLNodeでsetObjectValueのためのAppleのドキュメントは示唆的である:

注:以前のMac OS X vに10.6 setObjectValue:のNSNumberインスタンスだっただろうが不適切と矛盾形式のオブジェクト。 Mac OS X 10.6以降でリンクされているアプリケーションは、setObjectValue:に渡されたすべてのNSNumberに対して正しい科学的表記法を使用します。 XMLドキュメントの任意の値に特定の書式が必要な場合は、データを文字列として書式設定し、setStringValue:を使用して値を設定する必要があります。これにより、生成されたテキストは直接制御する形式になります。

+0

Hmmです。たぶん私は実際にその辞書にNSNumbersを持っていて、NSStringは持っていませんでした。とにかくそのフィールドのために。私は別のXMLファイルを解析していました。私はすべてのNSStringを取り戻すと思っていました。 – Flyingdiver