Это - в основном вопрос предпочтения. Я использую Элементы для группировки и атрибуты для данных, если это возможно, поскольку я рассматриваю это как более компактное, чем альтернатива.
, Например, я предпочитаю.....
<?xml version="1.0" encoding="utf-8"?>
<data>
<people>
<person name="Rory" surname="Becker" age="30" />
<person name="Travis" surname="Illig" age="32" />
<person name="Scott" surname="Hanselman" age="34" />
</people>
</data>
... Вместо....
<?xml version="1.0" encoding="utf-8"?>
<data>
<people>
<person>
<name>Rory</name>
<surname>Becker</surname>
<age>30</age>
</person>
<person>
<name>Travis</name>
<surname>Illig</surname>
<age>32</age>
</person>
<person>
<name>Scott</name>
<surname>Hanselman</surname>
<age>34</age>
</person>
</people>
</data>
Однако, если у меня есть данные, которые не представляют легко в, говорят 20-30 символов, или содержит много кавычек или другие символы, для которых нужен выход тогда, я сказал бы, что пора вспыхнуть элементы... возможно с блоками CData.
<?xml version="1.0" encoding="utf-8"?>
<data>
<people>
<person name="Rory" surname="Becker" age="30" >
<comment>A programmer whose interested in all sorts of misc stuff. His Blog can be found at http://rorybecker.blogspot.com and he's on twitter as @RoryBecker</comment>
</person>
<person name="Travis" surname="Illig" age="32" >
<comment>A cool guy for who has helped me out with all sorts of SVn information</comment>
</person>
<person name="Scott" surname="Hanselman" age="34" >
<comment>Scott works for MS and has a great podcast available at http://www.hanselminutes.com </comment>
</person>
</people>
</data>
С какой именно ошибкой вы столкнулись?
Вы создаете слишком много временных файлов ?
Метод GetTempFileName вызовет исключение IOException, если оно используется для создать более 65535 файлов без удаление предыдущих временных файлов.
Метод GetTempFileName вызовет исключение IOException, если нет уникального временного имя файла доступно. Решить эту ошибку удалите все ненужные временные файлы.
Следует отметить, что если вы косвенно используете Win32 API и используете его только для получения имен временных файлов, обратите внимание, что при (косвенном) его вызове:
Создает однозначно названный, нулевой байт временный файл на диске и возвращает полный путь к этому файлу.
Если вы используете этот путь, но также меняете возвращаемое значение, имейте в виду, что вы на самом деле можете создать 0-байтовый файл и дополнительный файл поверх него (например, My_App_tmpXXXX.tmp и tmpXXXX.tmp ).
Как предлагает ниже Нестор, подумайте об удалении временных файлов после того, как вы закончите их использовать.
В Temp не должно быть такого ограничения места. Если вы написали приложение, я бы рекомендовал создавать ваши файлы в ProgramData ...
Используя файловую систему FAT32, я могу представить, что это произойдет, когда:
Кроме этого, я не знаю каких-либо ограничений, которые система может наложить на временную папку, кроме того, что физический раздел фактически заполнен .
Еще одним ограничением является то, что Майк Атлас предложил функцию GetTempFileName ()
, которая создает файлы типа tmpXXXX.tmp
. Хотя вы, возможно, не используете его напрямую, убедитесь, что в папке % TEMP%
их не слишком много (2 ^ 16).
И, возможно, очевидное, пробовали ли вы очистить% TEMP % перед запуском утилиты?
Не должно возникнуть никаких проблем с вашим каталогом% TEMP%.
Какая у вас дисковая квота для тома хостинга% TEMP%? Частично в зависимости от того, что делают сами приложения, одно из них может выдавать ошибку из-за достижения дисковой квоты, что является проблемой, если эта квота установлена неоправданно высокой. Если квота очень высока, попробуйте уменьшить ее, что вы можете сделать как администратор.